rtp.js
Version:
RTP stack for Node.js and browser written in TypeScript
84 lines • 2.62 kB
TypeScript
import { FeedbackPacket, type FeedbackPacketDump } from './FeedbackPacket';
/**
* RTCP RPSI packet info dump.
*
* @category RTCP
*/
export type RpsiPacketDump = FeedbackPacketDump & {
payloadType: number;
bitStringLength: number;
paddingBits: number;
};
/**
* RTCP RPSI packet (RTCP Payload Specific 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=3 | PT=PSFB=206 | length |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | SSRC of packet sender |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | SSRC of media source |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | PB |0| Payload Type| Native RPSI bit string |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | defined per codec ... | Padding (0) |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* ```
*
* @category RTCP
*
* @see
* - [RFC 4585 section 6.3.3](https://datatracker.ietf.org/doc/html/rfc4585#section-6.3.3)
*/
export declare class RpsiPacket extends FeedbackPacket {
#private;
/**
* @param view - If given it will be parsed. Otherwise an empty RTCP RPSI
* packet will be created.
*
* @throws
* - If given `view` does not contain a valid RTCP RPSI packet.
*/
constructor(view?: DataView);
/**
* Dump RTCP RPSI packet info.
*/
dump(): RpsiPacketDump;
/**
* @inheritDoc
*/
getByteLength(): number;
/**
* @inheritDoc
*/
serialize(buffer?: ArrayBufferLike, byteOffset?: number): void;
/**
* @inheritDoc
*/
clone(buffer?: ArrayBufferLike, byteOffset?: number, serializationBuffer?: ArrayBufferLike, serializationByteOffset?: number): RpsiPacket;
/**
* Get payload type.
*/
getPayloadType(): number;
/**
* Set the payload type.
*/
setPayloadType(payloadType: number): void;
/**
* Get the bit string.
*/
getBitString(): DataView;
/**
* Set the bit string.
*
* @remarks
* - Serialization is needed after calling this method.
*/
setBitString(view: DataView): void;
private getFciPaddingBits;
private setFciPaddingBits;
}
//# sourceMappingURL=RpsiPacket.d.ts.map