rtp.js
Version:
RTP stack for Node.js and browser written in TypeScript
116 lines • 2.98 kB
TypeScript
import { Serializable, type SerializableDump } from '../../Serializable';
export declare const COMMON_HEADER_LENGTH = 4;
/**
* Extended Report types.
*
* @category RTCP Extended Reports
*/
export declare enum ExtendedReportType {
/**
* Loss RLE Report.
*/
LRLE = 1,
/**
* Duplicate RLE Report.
*/
DRLE = 2,
/**
* Packet Receipt Times Report.
*/
PRT = 3,
/**
* Receiver Reference Time Report.
*/
RRT = 4,
/**
* DLRR Report.
*/
DLRR = 5,
/**
* Statistics Summary Report.
*/
SS = 6,
/**
* VoIP Metrics Report.
*/
VM = 7,
/**
* ECN Summary Report.
*/
ECN = 13
}
/**
* Extended Report dump.
*
* @category RTCP Extended Reports
*/
export type ExtendedReportDump = SerializableDump & {
reportType: ExtendedReportType;
};
/**
* Get the RTCP packet type.
*
* @hidden
*/
export declare function getExtendedReportType(view: DataView): ExtendedReportType;
/**
* Read the report length value of an Extended Report and compute its size in
* bytes (including first octet).
*
* @hidden
*/
export declare function getExtendedReportLength(view: DataView): number;
/**
* Writes given length (in bytes) in the report length field of an Extended
* Report.
*
* @hidden
*/
export declare function setExtendedReportLength(view: DataView, byteLength: number): void;
/**
* Parent class of all {@link XrPacket} Extended Reports.
*
* ```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
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | BT | type-specific | block length |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* : type-specific block contents :
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* ```
*
* @category RTCP Extended Reports
*
* @see
* - [RFC 3611 section 3](https://datatracker.ietf.org/doc/html/rfc3611#section-3)
*/
export declare abstract class ExtendedReport extends Serializable {
#private;
protected constructor(reportType: ExtendedReportType, view?: DataView);
/**
* Base Extended Report dump.
*
* @remarks
* - Read the info dump type of each Extended Report instead.
*/
dump(): ExtendedReportDump;
/**
* Get the Extended Report type.
*/
getReportType(): ExtendedReportType;
protected writeCommonHeader(): void;
/**
* Serialize base RTCP packet into a new buffer.
*/
protected serializeBase(buffer?: ArrayBufferLike, byteOffset?: number): DataView;
/**
* Set the Extended Report type.
*
* @privateRemarks
* - This method is not public since users should not manipulate this field
* directly.
*/
private setReportType;
}
//# sourceMappingURL=ExtendedReport.d.ts.map