UNPKG

krtp

Version:

Node implementation of rtp protocol. RFC 3550

57 lines (51 loc) 1.53 kB
/* * +=============================================== * | Author: Parham Alvani (parham.alvani@gmail.com) * | * | Creation Date: 02-06-2017 * | * | File Name: test.js * +=============================================== */ import * as assert from "assert"; import { range } from "rxjs"; import { filter } from "rxjs/operators"; import { Session } from "../lib"; import { Packet } from "../lib"; describe("RTPSession", () => { test("packet send-recieve serialize-deserialize", (done) => { const s = new Session(1373); s.on("message", (msg: Packet) => { assert.equal(s.sequenceNumber, msg.sequenceNumber + 1); assert.equal(s.ssrc, msg.ssrc); assert.equal("Hello world", msg.payload.toString()); s.close(); done(); }); s.send(Buffer.from("Hello world")).catch((err) => { done(err); }); }); test("rxjs", (done) => { const s = new Session(1372, 72); const initialSequenceNumber = s.sequenceNumber; s.message$ .pipe(filter((msg) => msg.sequenceNumber === initialSequenceNumber + 9)) .subscribe({ next: (msg) => { assert.equal(72, msg.payloadType); assert.equal("Hello world of rxjs - 10", msg.payload.toString()); s.close(); done(); }, error: (err) => { done(err); }, }); range(1, 10).subscribe((i: number) => { s.send(Buffer.from(`Hello world of rxjs - ${i}`)).catch((err) => { done(err); }); }); }); });