UNPKG

rtp.js

Version:

RTP stack for Node.js and browser written in TypeScript

160 lines 5.55 kB
import { RtcpPacket, type RtcpPacketDump } from './RtcpPacket'; import { ReceptionReport, type ReceptionReportDump } from './ReceiverReportPacket'; /** * RTCP Sender Report packet info dump. * * @category RTCP */ export type SenderReportPacketDump = RtcpPacketDump & { ssrc: number; ntpSeq: number; ntpFraction: number; rtpTimestamp: number; packetCount: number; octetCount: number; reports: ReceptionReportDump[]; }; /** * RTCP Sender 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=SR=200 | length | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | SSRC of sender | * +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ * sender | NTP timestamp, most significant word | * info +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | NTP timestamp, least significant word | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | RTP timestamp | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | sender's packet count | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | sender's octet count | * +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ * 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.1](https://datatracker.ietf.org/doc/html/rfc3550#section-6.4.1) */ export declare class SenderReportPacket extends RtcpPacket { #private; /** * @param view - If given it will be parsed. Otherwise an empty RTCP Sender * Report packet will be created. * * @throws * - If given `view` does not contain a valid RTCP Sender Report packet. */ constructor(view?: DataView); /** * Dump Sender Report packet info. */ dump(): SenderReportPacketDump; /** * @inheritDoc */ getByteLength(): number; /** * @inheritDoc */ needsSerialization(): boolean; /** * @inheritDoc */ serialize(buffer?: ArrayBufferLike, byteOffset?: number): void; /** * @inheritDoc */ clone(buffer?: ArrayBufferLike, byteOffset?: number, serializationBuffer?: ArrayBufferLike, serializationByteOffset?: number): SenderReportPacket; /** * Get sender SSRC. */ getSsrc(): number; /** * Set sender SSRC. */ setSsrc(ssrc: number): void; /** * Get NTP seconds. */ getNtpSeconds(): number; /** * Set NTP seconds. */ setNtpSeconds(seconds: number): void; /** * Get NTP fraction. */ getNtpFraction(): number; /** * Set NTP fraction. */ setNtpFraction(fraction: number): void; /** * Get RTP Timestamp. */ getRtpTimestamp(): number; /** * Set RTP Timestamp. */ setRtpTimestamp(timestamp: number): void; /** * Get RTP packet count. */ getPacketCount(): number; /** * Set RTP packet count. */ setPacketCount(count: number): void; /** * Get RTP octet count. */ getOctetCount(): number; /** * Set RTP octet count. */ setOctetCount(count: 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; } //# sourceMappingURL=SenderReportPacket.d.ts.map