rtp.js
Version:
RTP stack for Node.js and browser written in TypeScript
119 lines • 3.59 kB
TypeScript
import { ExtendedReport, type ExtendedReportDump } from './ExtendedReport';
/**
* Packet Receipt Times Extended Report dump.
*
* @category RTCP Extended Reports
*/
export type PrtExtendedReportDump = ExtendedReportDump & {
thinning: number;
ssrc: number;
beginSeq: number;
endSeq: number;
receiptTimes: number[];
};
/**
* Packet Receipt Times 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=3 | rsvd. | T | block length |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | SSRC of source |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | begin_seq | end_seq |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | Receipt time of packet begin_seq |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | Receipt time of packet (begin_seq + 1) mod 65536 |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* : ... :
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | Receipt time of packet (end_seq - 1) mod 65536 |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* ```
*
* @category RTCP Extended Reports
*
* @see
* - [RFC 3611 section 4.3](https://datatracker.ietf.org/doc/html/rfc3611#section-4.3)
*/
export declare class PrtExtendedReport extends ExtendedReport {
#private;
/**
* @param view - If given it will be parsed. Otherwise an empty Packet Receipt
* Times Extended Report will be created.
*/
constructor(view?: DataView);
/**
* Dump Packet Receipt Times Extended Report info.
*/
dump(): PrtExtendedReportDump;
/**
* @inheritDoc
*/
getByteLength(): number;
/**
* @inheritDoc
*/
serialize(buffer?: ArrayBufferLike, byteOffset?: number): void;
/**
* @inheritDoc
*/
clone(buffer?: ArrayBufferLike, byteOffset?: number, serializationBuffer?: ArrayBufferLike, serializationByteOffset?: number): PrtExtendedReport;
/**
* Get thinning.
*/
getThinning(): number;
/**
* Set thinning.
*/
setThinning(thinning: number): void;
/**
* Get SSRC of source.
*/
getSsrc(): number;
/**
* Set SSRC of source.
*/
setSsrc(ssrc: number): void;
/**
* Get begin sequence number.
*/
getBeginSeq(): number;
/**
* Set begin sequence number.
*/
setBeginSeq(seq: number): void;
/**
* Get end sequence number.
*/
getEndSeq(): number;
/**
* Set end sequence number.
*/
setEndSeq(seq: number): void;
/**
* Get receipt times.
*
* @remarks
* - Receipt times are given as a list of 4 byte integers.
*/
getReceiptTimes(): number[];
/**
* Set receipt times.
*
* @remarks
* - Receipt times must be given as a list of 4 byte integers.
*/
setReceiptTimes(receiptTimes: number[]): void;
/**
* Add receipt time.
*
* @remarks
* - Receipt time must be given as 4 byte integer.
*/
addReceiptTime(receiptTime: number): void;
}
//# sourceMappingURL=PrtExtendedReport.d.ts.map