UNPKG

rtp.js

Version:

RTP stack for Node.js and browser written in TypeScript

204 lines 6.11 kB
import { RtcpPacket, type RtcpPacketDump } from './RtcpPacket'; import { Serializable, type SerializableDump } from '../Serializable'; export declare const RECEPTION_REPORT_LENGTH = 24; /** * RTCP Receiver Report packet info dump. * * @category RTCP */ export type ReceiverReportPacketDump = RtcpPacketDump & { ssrc: number; reports: ReceptionReportDump[]; }; /** * Reception Report dump. * * @category RTCP */ export type ReceptionReportDump = SerializableDump & { ssrc: number; fractionLost: number; totalLost: number; highestSeq: number; jitter: number; lsr: number; dlsr: number; }; /** * RTCP Receiver Report packet. * * ```text * 0 1 2 3 * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * header |V=2|P| RC | PT=RR=201 | length | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | SSRC of packet sender | * +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ * report | SSRC_1 (SSRC of first source) | * block +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * 1 | fraction lost | cumulative number of packets lost | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | extended highest sequence number received | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | interarrival jitter | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | last SR (LSR) | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | delay since last SR (DLSR) | * +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ * report | SSRC_2 (SSRC of second source) | * block +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * 2 : ... : * +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ * | profile-specific extensions | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * ``` * * @category RTCP * * @see * - [RFC 3550 section 6.4.2](https://datatracker.ietf.org/doc/html/rfc3550#section-6.4.2) */ export declare class ReceiverReportPacket extends RtcpPacket { #private; /** * @param view - If given it will be parsed. Otherwise an empty RTCP Receiver * Report packet will be created. * * @throws * - If given `view` does not contain a valid RTCP Receiver Report packet. */ constructor(view?: DataView); /** * Dump Receiver Report packet info. */ dump(): ReceiverReportPacketDump; /** * @inheritDoc */ getByteLength(): number; /** * @inheritDoc */ needsSerialization(): boolean; /** * @inheritDoc */ serialize(buffer?: ArrayBufferLike, byteOffset?: number): void; /** * @inheritDoc */ clone(buffer?: ArrayBufferLike, byteOffset?: number, serializationBuffer?: ArrayBufferLike, serializationByteOffset?: number): ReceiverReportPacket; /** * Get sender SSRC. */ getSsrc(): number; /** * Set sender SSRC. */ setSsrc(ssrc: number): void; /** * Get Reception Reports. */ getReports(): ReceptionReport[]; /** * Set Reception Reports. * * @remarks * - Serialization is needed after calling this method. */ setReports(reports: ReceptionReport[]): void; /** * Add Reception Report. * * @remarks * - Serialization is needed after calling this method. */ addReport(report: ReceptionReport): void; } /** * RTCP Reception Report. * * @category RTCP */ export declare class ReceptionReport extends Serializable { /** * @param view - If given it will be parsed. Otherwise an empty RTCP Receiver * Report will be created. */ constructor(view?: DataView); /** * Dump Reception Report info. */ dump(): ReceptionReportDump; /** * @inheritDoc */ getByteLength(): number; /** * @inheritDoc */ serialize(buffer?: ArrayBufferLike, byteOffset?: number): void; /** * @inheritDoc */ clone(buffer?: ArrayBufferLike, byteOffset?: number, serializationBuffer?: ArrayBufferLike, serializationByteOffset?: number): ReceptionReport; /** * Get receiver SSRC. */ getSsrc(): number; /** * Set receiver SSRC. */ setSsrc(ssrc: number): void; /** * Get fraction lost. */ getFractionLost(): number; /** * Set fraction lost. */ setFractionLost(fractionLost: number): void; /** * Get total lost. */ getTotalLost(): number; /** * Set total lost. */ setTotalLost(totalLost: number): void; /** * Get highest RTP sequence number. */ getHighestSeqNumber(): number; /** * Set highest RTP sequence number. */ setHighestSeqNumber(seq: number): void; /** * Get interarrival jitter. */ getJitter(): number; /** * Set interarrival jitter. */ setJitter(jitter: number): void; /** * Set last Sender Report timestamp. */ getLastSRTimestamp(): number; /** * Set last Sender Report timestamp. */ setLastSRTimestamp(lsr: number): void; /** * Get delay since last Sender Report. */ getDelaySinceLastSR(): number; /** * Set delay since last Sender Report. */ setDelaySinceLastSR(dlsr: number): void; } //# sourceMappingURL=ReceiverReportPacket.d.ts.map