UNPKG

rtp.js

Version:

RTP stack for Node.js and browser written in TypeScript

147 lines 3.81 kB
/** * RTP extensions. * * @category RTP */ export declare enum RtpExtensionType { /** * Media identification. * * URI: `urn:ietf:params:rtp-hdrext:sdes:mid` * * @see * - [RFC 9143](https://datatracker.ietf.org/doc/html/rfc9143) */ MID = 0, /** * RTP Stream Identifier. * * URI: `urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id` * * @see * - [RFC 8852](https://datatracker.ietf.org/doc/html/rfc8852) */ RTP_STREAM_ID = 1, /** * RTP Repaired Stream Identifier. * * URI: `urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id` * * @see * - [RFC 8852](https://datatracker.ietf.org/doc/html/rfc8852) */ RTP_REPAIRED_STREAM_ID = 2, /** * Absolute Send Time. * * URI: `http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time` * * @see * - [Google Source](https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/abs-send-time) */ ABS_SEND_TIME = 3, /** * Transport-wide Sequence Number. * * URI: `http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01` * * @see * - [draft-holmer-rmcat-transport-wide-cc-extensions-01](https://datatracker.ietf.org/doc/html/draft-holmer-rmcat-transport-wide-cc-extensions-01) */ TRANSPORT_WIDE_SEQ_NUMBER = 4, /** * Audio Level * * URI: `urn:ietf:params:rtp-hdrext:ssrc-audio-level` * * @see * - [RFC 6464](https://datatracker.ietf.org/doc/html/rfc6464) */ SSRC_AUDIO_LEVEL = 5, /** * Video Orientation. * * URI: `urn:3gpp:video-orientation` * * @see * - [3GPP TS 26.114 V12.7.0](https://www.etsi.org/deliver/etsi_ts/126100_126199/126114/13.02.00_60/ts_126114v130200p.pdf) */ VIDEO_ORIENTATION = 6, /** * Transmission Time Offsets. * * URI: `urn:ietf:params:rtp-hdrext:toffset` * * @see * - [RFC 5450](https://datatracker.ietf.org/doc/html/rfc5450) */ TOFFSET = 7 } /** * Mapping of RTP extension types and their corresponding RTP extension ids. * * @category RTP * * @example * ```ts * const rtpExtensionMapping: RtpExtensionMapping = * { * [RtpExtensionType.MID]: 1, * [RtpExtensionType.RTP_STREAM_ID]: 3 * }; */ export type RtpExtensionMapping = Partial<Record<RtpExtensionType, number>>; /** * Get the RTP extension type associated to the given RTP extension URI. * * @category RTP */ export declare function rtpExtensionUriToType(uri: string): RtpExtensionType | undefined; /** * SSRC Audio Level data. * * @category RTP * * @see * - [RFC 6464](https://datatracker.ietf.org/doc/html/rfc6464) */ export type SsrcAudioLevelExtension = { /** * Audio level expressed in -dBov, with values from 0 to 127 representing 0 * to -127 dBov. */ volume: number; /** * Whether the encoder believes the audio packet contains voice activity. */ voice: boolean; }; /** * Video Orientation data. * * @category RTP * * @see * - [3GPP TS 26.114 V12.7.0](https://www.etsi.org/deliver/etsi_ts/126100_126199/126114/13.02.00_60/ts_126114v130200p.pdf) */ export type VideoOrientationExtension = { camera: boolean; flip: boolean; /** * 0: no rotation. * 1: rotation is 90º. * 2: rotation is 180º. * 3: rotation is 270º. */ rotation: number; }; /** * Convert Unix epoch timestamp in milliseconds to "Absolute Send Time" format. * * @category RTP * * @see * - [Google Source](https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/abs-send-time) */ export declare function timeMsToAbsSendTime(timeMs: number): number; //# sourceMappingURL=rtpExtensions.d.ts.map