UNPKG

rtp.js

Version:

RTP stack for Node.js and browser written in TypeScript

113 lines 3.39 kB
import { FeedbackPacket, type FeedbackPacketDump } from './FeedbackPacket'; /** * RTCP NACK packet info dump. * * @category RTCP */ export type NackPacketDump = FeedbackPacketDump & { items: { pid: number; bitmask: number; }[]; }; /** * RTCP NACK packet (RTCP Transport Layer Feedback). * * ```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 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * |V=2|P| FMT=1 | PT=RTPFB=205 | length | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | SSRC of packet sender | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | SSRC of media source | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | PID | BLP | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * : ... : * +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ * ``` * * @category RTCP * * @see * - [RFC 4585 section 6.2.1](https://datatracker.ietf.org/doc/html/rfc4585#section-6.2.1) */ export declare class NackPacket extends FeedbackPacket { #private; /** * @param view - If given it will be parsed. Otherwise an empty RTCP NACK * packet will be created. * * @throws * - If given `view` does not contain a valid RTCP NACK packet. */ constructor(view?: DataView); /** * Dump RTCP NACK packet info. */ dump(): NackPacketDump; /** * @inheritDoc */ getByteLength(): number; /** * @inheritDoc */ serialize(buffer?: ArrayBufferLike, byteOffset?: number): void; /** * @inheritDoc */ clone(buffer?: ArrayBufferLike, byteOffset?: number, serializationBuffer?: ArrayBufferLike, serializationByteOffset?: number): NackPacket; /** * Get NACK items. * * @remarks * - Use {@link parseNackItem} to parse returned NACK items. */ getItems(): { pid: number; bitmask: number; }[]; /** * Set NACK items. * * @remarks * - Use {@link createNackItem} to create NACK items. * - Serialization is needed after calling this method. */ setItems(items: { pid: number; bitmask: number; }[]): void; /** * Add NACK item value. * * @remarks * - Use {@link createNackItem} to create the NACK item. * - Serialization is needed after calling this method. */ addItem(pid: number, bitmask: number): void; } /** * Parse a NACK item. It returns an array with RTP sequence numbers that are * included in the item (lost packets). * * @category RTCP */ export declare function parseNackItem(pid: number, bitmask: number): number[]; /** * Create a NACK item. * * @param seqs - RTP sequence number of lost packets. As per NACK rules, there * can be up to 17 seq numbers and max diff between lowest and highest must * be 17. * * @category RTCP */ export declare function createNackItem(seqs: number[]): { pid: number; bitmask: number; }; //# sourceMappingURL=NackPacket.d.ts.map