rtp.js
Version:
RTP stack for Node.js and browser written in TypeScript
192 lines • 4.83 kB
TypeScript
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