Namespace inet::rtp
RtpHeader
classThis class represents an RTP data packet. Real data can either be encapsulated, or simulated by adding length.
The following RTP header fields exist but aren't used: padding, extension, csrcCount. The csrcList can't be used because csrcCount is always 0.
Extends
Name | Type | Description |
---|---|---|
FieldsChunk | (unknown -- not in documented files) |
Fields
Name | Type | Description |
---|---|---|
chunkLength |
12-byte fixed header |
|
version | uint8_t |
The rtp version of this RtpPacket. |
paddingFlag | bool |
Set to 1 if padding is used in this RtpPacket, 0 otherwise. This implementation doesn't use padding bytes, so it is always 0. |
extensionFlag | bool |
Set to 1, if this RtpPacket contains an rtp header extension, 0 otherwise. This implementation doesn't support rtp header extensions, so it is always 0. |
marker | bool |
The marker. |
payloadType | int8_t |
The type of payload carried in this RtpPacket. |
sequenceNumber | uint16_t |
The sequence number of this RtpPacket. |
timeStamp | uint32_t |
The rtp time stamp of this RtpPacket. |
ssrc | uint32_t |
The ssrc identifier of the creator of this RtpPacket. |
csrc | uint32_t[] |
no mixers, no contributing sources |
Packet operations (observed)
action | module |
---|---|
insertAtFront | RtpAvProfilePayload32Sender |
peekAtFront | Rtcp, Rtp, RtpAvProfile, RtpAvProfilePayload32Receiver |
popAtFront | RtpAvProfilePayload32Receiver |
Source code
// // This class represents an RTP data packet. Real data can either // be encapsulated, or simulated by adding length. // // The following RTP header fields exist but aren't used: // padding, extension, csrcCount. The csrcList can't be used // because csrcCount is always 0. // class RtpHeader extends FieldsChunk { chunkLength = RTPPACKET_FIX_HEADERLENGTH; // 12-byte fixed header // The rtp version of this ~RtpPacket. uint8_t version = 2; // 2 bits // Set to 1 if padding is used in this ~RtpPacket, 0 otherwise. // This implementation doesn't use padding bytes, so it is always 0. bool paddingFlag = false; // 1 bit // Set to 1, if this ~RtpPacket contains an rtp header extension, 0 otherwise. // This implementation doesn't support rtp header extensions, so it is always 0. bool extensionFlag = false; // 1 bit // uint8_t cc; // 4 bits, csrc count // The marker. bool marker = false; // 1 bit // The type of payload carried in this ~RtpPacket. int8_t payloadType; // 7 bits // The sequence number of this ~RtpPacket. uint16_t sequenceNumber; // 16 bits // The rtp time stamp of this ~RtpPacket. uint32_t timeStamp; // 32 bits // The ssrc identifier of the creator of this ~RtpPacket. uint32_t ssrc; // 32 bits // no mixers, no contributing sources uint32_t csrc[]; // cc * 32 bits }File: src/inet/transportlayer/rtp/RtpPacket.msg