rtp.js
Version:
RTP stack for Node.js and browser written in TypeScript
128 lines • 3.93 kB
TypeScript
import { FeedbackPacket, type FeedbackPacketDump } from './FeedbackPacket';
/**
* RTCP ECN packet info dump.
*
* @category RTCP
*/
export type EcnPacketDump = FeedbackPacketDump & {
extendedHighestSequenceNumber: number;
ect0Counter: number;
ect1Counter: number;
ecnCeCounter: number;
nonEctCounter: number;
lostPacketsCounter: number;
duplicationCounter: number;
};
/**
* RTCP ECN packet (RTCP Transport Layer Feedback).
*
* ```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
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* |V=2|P| FMT=8 | PT=RTPFB=205 | length=7 |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | SSRC of packet sender |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | SSRC of media source |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | Extended Highest Sequence Number |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | ECT (0) Counter |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | ECT (1) Counter |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | ECN-CE Counter | not-ECT Counter |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | Lost Packets Counter | Duplication Counter |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* ```
*
* @category RTCP
*
* @see
* - [RFC 6679 section 5.1](https://datatracker.ietf.org/doc/html/rfc6679#section-5.1)
*/
export declare class EcnPacket extends FeedbackPacket {
/**
* @param view - If given it will be parsed. Otherwise an empty RTCP ECN
* packet will be created.
*
* @throws
* - If given `view` does not contain a valid RTCP ECN packet.
*/
constructor(view?: DataView);
/**
* Dump RTCP ECN packet info.
*/
dump(): EcnPacketDump;
/**
* @inheritDoc
*/
getByteLength(): number;
/**
* @inheritDoc
*/
serialize(buffer?: ArrayBufferLike, byteOffset?: number): void;
/**
* @inheritDoc
*/
clone(buffer?: ArrayBufferLike, byteOffset?: number, serializationBuffer?: ArrayBufferLike, serializationByteOffset?: number): EcnPacket;
/**
* Get Extended Highest Sequence Number.
*/
getExtendedHighestSequenceNumber(): number;
/**
* Set Extended Highest Sequence Number.
*/
setExtendedHighestSequenceNumber(sequenceNumber: number): void;
/**
* Get ECT (0) Counter.
*/
getEct0Counter(): number;
/**
* Set ECT (0) Counter.
*/
setEct0Counter(counter: number): void;
/**
* Get ECT (1) Counter.
*/
getEct1Counter(): number;
/**
* Set ECT (1) Counter.
*/
setEct1Counter(counter: number): void;
/**
* Get ECN-CE Counter.
*/
getEcnCeCounter(): number;
/**
* Set ECN-CE Counter.
*/
setEcnCeCounter(counter: number): void;
/**
* Get not-ECT Counter.
*/
getNonEctCounter(): number;
/**
* Set not-ECT Counter.
*/
setNonEctCounter(counter: number): void;
/**
* Get Lost Packets Counter.
*/
getLostPacketsCounter(): number;
/**
* Set Lost Packets Counter.
*/
setLostPacketsCounter(counter: number): void;
/**
* Get Duplication Counter.
*/
getDuplicationCounter(): number;
/**
* Set Duplication Counter.
*/
setDuplicationCounter(counter: number): void;
}
//# sourceMappingURL=EcnPacket.d.ts.map