UNPKG

media-stream-library

Version:

Media stream library for Node & the Web.

81 lines (80 loc) 2.59 kB
import { RtcpMessage } from '../../components/message'; export declare enum RTCPPacketType { SR = 200, RR = 201, SDES = 202, BYE = 203, APP = 204 } export interface Rtcp { readonly version: number; readonly padding: boolean; readonly count: number; readonly packetType: RTCPPacketType | number; readonly length: number; } export declare const parseRtcp: (buffer: Buffer) => Rtcp | RtcpSR | RtcpRR | RtcpSDES | RtcpBye | RtcpApp; export declare const rtcpMessageFromBuffer: (channel: number, buffer: Buffer) => RtcpMessage; export declare const SR: { packetType: number; }; export interface RtcpReportBlock { readonly syncSource: number; readonly fractionLost: number; readonly cumulativeNumberOfPacketsLost: number; readonly extendedHighestSequenceNumberReceived: number; readonly interarrivalJitter: number; readonly lastSRTimestamp: number; readonly delaySinceLastSR: number; } export interface RtcpSR extends Rtcp { readonly version: RTCPPacketType.SR; readonly syncSource: number; readonly ntpMost: number; readonly ntpLeast: number; readonly rtpTimestamp: number; readonly sendersPacketCount: number; readonly sendersOctetCount: number; readonly reports: readonly RtcpReportBlock[]; } export declare const isRtcpSR: (rtcp: Rtcp) => rtcp is RtcpSR; export interface RtcpRR extends Rtcp { readonly version: RTCPPacketType.RR; readonly syncSource: number; readonly reports: readonly RtcpReportBlock[]; } export declare const isRtcpRR: (rtcp: Rtcp) => rtcp is RtcpRR; export declare enum SDESItem { CNAME = 1, NAME = 2, EMAIL = 3, PHONE = 4, LOC = 5, TOOL = 6, NOTE = 7, PRIV = 8 } export interface RtcpSDESBlock { readonly source: number; readonly items: Array<[number, string] | [SDESItem.PRIV, string, string]>; } export interface RtcpSDES extends Rtcp { readonly version: RTCPPacketType.SDES; readonly syncSource: number; readonly sourceDescriptions: readonly RtcpSDESBlock[]; } export declare const isRtcpSDES: (rtcp: Rtcp) => rtcp is RtcpSDES; export interface RtcpBye extends Rtcp { readonly version: RTCPPacketType.BYE; readonly sources: number[]; readonly reason?: string; } export declare const isRtcpBye: (rtcp: Rtcp) => rtcp is RtcpBye; export interface RtcpApp extends Rtcp { readonly version: RTCPPacketType.APP; readonly subtype: number; readonly source: number; readonly name: string; readonly data: Buffer; } export declare const isRtcpApp: (rtcp: Rtcp) => rtcp is RtcpApp;