rtp.js
Version:
RTP stack for Node.js and browser written in TypeScript
91 lines • 2.78 kB
TypeScript
import { ExtendedReport, type ExtendedReportDump } from './ExtendedReport';
/**
* DLRR Extended Report dump.
*
* @category RTCP Extended Reports
*/
export type DlrrExtendedReportDump = ExtendedReportDump & {
subReports: DlrrSubReport[];
};
/**
* DLRR Sub-Report.
*
* @category RTCP Extended Reports
*/
export type DlrrSubReport = {
/**
* SSRC of receiver.
*/
ssrc: number;
/**
* Last RR timestamp.
*/
lrr: number;
/**
* Delay since last RR.
*/
dlrr: number;
};
/**
* DLRR Extended Report.
*
* ```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=5 | reserved | block length |
* +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
* | SSRC_1 (SSRC of first receiver) | sub-
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block
* | last RR (LRR) | 1
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | delay since last RR (DLRR) |
* +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
* | SSRC_2 (SSRC of second receiver) | sub-
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block
* : ... : 2
* +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
* ```
*
* @category RTCP Extended Reports
*
* @see
* - [RFC 3611 section 4.5](https://datatracker.ietf.org/doc/html/rfc3611#section-4.5)
*/
export declare class DlrrExtendedReport extends ExtendedReport {
#private;
/**
* @param view - If given it will be parsed. Otherwise an empty DLRR Extended
* Report will be created.
*/
constructor(view?: DataView);
/**
* Dump DLRR Extended Report info.
*/
dump(): DlrrExtendedReportDump;
/**
* @inheritDoc
*/
getByteLength(): number;
/**
* @inheritDoc
*/
serialize(buffer?: ArrayBufferLike, byteOffset?: number): void;
/**
* @inheritDoc
*/
clone(buffer?: ArrayBufferLike, byteOffset?: number, serializationBuffer?: ArrayBufferLike, serializationByteOffset?: number): DlrrExtendedReport;
/**
* Get sub-reports.
*/
getSubReports(): DlrrSubReport[];
/**
* Set sub-reports.
*/
setSubReports(subReports: DlrrSubReport[]): void;
/**
* Add sub-report.
*/
addSubReport(subReport: DlrrSubReport): void;
}
//# sourceMappingURL=DlrrExtendedReport.d.ts.map