UNPKG

rtp.js

Version:

RTP stack for Node.js and browser written in TypeScript

192 lines 4.83 kB
import { RtcpPacket, type RtcpPacketDump } from './RtcpPacket'; import { Serializable, type SerializableDump } from '../Serializable'; /** * SDES Chunk Item types. * * @category RTCP */ export declare enum SdesItemType { /** * Canonical End-Point Identifier SDES Item. */ CNAME = 1, /** * User Name SDES Item. */ NAME = 2, /** * Electronic Mail Address SDES Item. */ EMAIL = 3, /** * Phone Number SDES Item. */ PHONE = 4, /** * Geographic User Location SDES Item. */ LOC = 5, /** * Application or Tool Name SDES Item. */ TOOL = 6, /** * Notice/Status SDES Item. */ NOTE = 7, /** * Private Extensions SDES Item. */ PRIV = 8 } /** * RTCP SDES packet info dump. * * @category RTCP */ export type SdesPacketDump = RtcpPacketDump & { chunks: SdesChunkDump[]; }; /** * SDES Chunk dump. * * @category RTCP */ export type SdesChunkDump = SerializableDump & { ssrc: number; items: { type: SdesItemType; text: string; }[]; }; /** * RTCP SDES 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| SC | PT=SDES=202 | length | * +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ * chunk | SSRC/CSRC_1 | * 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | SDES items | * | ... | * +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ * chunk | SSRC/CSRC_2 | * 2 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | SDES items | * | ... | * +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ * ``` * * @category RTCP * * @see * - [RFC 3550 section 6.5](https://datatracker.ietf.org/doc/html/rfc3550#section-6.5) */ export declare class SdesPacket extends RtcpPacket { #private; /** * @param view - If given it will be parsed. Otherwise an empty RTCP SDES * packet will be created. * * @throws * - If given `view` does not contain a valid RTCP SDES packet. */ constructor(view?: DataView); /** * Dump Receiver Report packet info. */ dump(): SdesPacketDump; /** * @inheritDoc */ getByteLength(): number; /** * @inheritDoc */ needsSerialization(): boolean; /** * @inheritDoc */ serialize(buffer?: ArrayBufferLike, byteOffset?: number): void; /** * @inheritDoc */ clone(buffer?: ArrayBufferLike, byteOffset?: number, serializationBuffer?: ArrayBufferLike, serializationByteOffset?: number): SdesPacket; /** * Get SDES Chunks. */ getChunks(): SdesChunk[]; /** * Set SDES Chunks. * * @remarks * - Serialization is needed after calling this method. */ setChunks(chunks: SdesChunk[]): void; /** * Add SDES Chunk. * * @remarks * - Serialization is needed after calling this method. */ addChunk(chunk: SdesChunk): void; } /** * SDES Chunk. * * @category RTCP */ export declare class SdesChunk extends Serializable { #private; /** * @param view - If given it will be parsed. Otherwise an empty RTCP SDES * Chunk will be created. */ constructor(view?: DataView); /** * Dump SDES Chunk info. */ dump(): SdesChunkDump; /** * @inheritDoc */ getByteLength(): number; /** * @inheritDoc */ serialize(buffer?: ArrayBufferLike, byteOffset?: number): void; /** * @inheritDoc */ clone(buffer?: ArrayBufferLike, byteOffset?: number, serializationBuffer?: ArrayBufferLike, serializationByteOffset?: number): SdesChunk; /** * Get SDES Chunk SSRC. */ getSsrc(): number; /** * Set SDES Chunk SSRC. */ setSsrc(ssrc: number): void; /** * Get SDES Items. */ getItems(): { type: SdesItemType; text: string; }[]; /** * Set SDES Items. */ setItems(items: { type: SdesItemType; text: string; }[]): void; /** * Add SDES Item. */ addItem(type: SdesItemType, text: string): void; } //# sourceMappingURL=SdesPacket.d.ts.map