41 #include "rtpconfig.h" 56 class JRTPLIB_IMPORTEXPORT
RTPPacket :
public RTPMemoryObject
71 RTPPacket(uint8_t payloadtype,
const void *payloaddata,
size_t payloadlen,uint16_t seqnr,
72 uint32_t timestamp,uint32_t ssrc,
bool gotmarker,uint8_t numcsrcs,
const uint32_t *csrcs,
73 bool gotextension,uint16_t extensionid,uint16_t extensionlen_numwords,
const void *extensiondata,
78 RTPPacket(uint8_t payloadtype,
const void *payloaddata,
size_t payloadlen,uint16_t seqnr,
79 uint32_t timestamp,uint32_t ssrc,
bool gotmarker,uint8_t numcsrcs,
const uint32_t *csrcs,
80 bool gotextension,uint16_t extensionid,uint16_t extensionlen_numwords,
const void *extensiondata,
83 virtual ~
RTPPacket() {
if (packet && !externalbuffer) RTPDeleteByteArray(packet,GetMemoryManager()); }
100 uint32_t GetCSRC(
int num)
const;
156 int BuildPacket(uint8_t payloadtype,
const void *payloaddata,
size_t payloadlen,uint16_t seqnr,
157 uint32_t timestamp,uint32_t ssrc,
bool gotmarker,uint8_t numcsrcs,
const uint32_t *csrcs,
158 bool gotextension,uint16_t extensionid,uint16_t extensionlen_numwords,
const void *extensiondata,
159 void *buffer,
size_t maxsize);
163 bool hasextension,hasmarker;
167 uint32_t extseqnr,timestamp,ssrc;
168 uint8_t *packet,*payload;
169 size_t packetlength,payloadlength;
173 size_t extensionlength;
182 #endif // RTPPACKET_H size_t GetExtensionLength() const
Returns the length of the header extension data.
Definition: rtppacket.h:142
This class is used by the transmission component to store the incoming RTP and RTCP data in...
Definition: rtprawpacket.h:51
uint8_t * GetExtensionData() const
Returns the length of the header extension data.
Definition: rtppacket.h:139
size_t GetPayloadLength() const
Returns the payload length.
Definition: rtppacket.h:133
uint8_t * GetPayloadData() const
Returns a pointer to the actual payload data.
Definition: rtppacket.h:127
uint16_t GetSequenceNumber() const
Returns the sequence number of this packet.
Definition: rtppacket.h:112
uint8_t * GetPacketData() const
Returns a pointer to the data of the entire packet.
Definition: rtppacket.h:124
bool HasMarker() const
Returns true if the marker bit was set and false otherwise.
Definition: rtppacket.h:92
uint32_t GetExtendedSequenceNumber() const
Returns the extended sequence number of the packet.
Definition: rtppacket.h:109
int GetCreationError() const
If an error occurred in one of the constructors, this function returns the error code.
Definition: rtppacket.h:86
bool HasExtension() const
Returns true if the RTP packet has a header extension and false otherwise.
Definition: rtppacket.h:89
uint32_t GetSSRC() const
Returns the SSRC identifier stored in this packet.
Definition: rtppacket.h:121
void SetExtendedSequenceNumber(uint32_t seq)
Sets the extended sequence number of this packet to seq.
Definition: rtppacket.h:115
RTPTime GetReceiveTime() const
Returns the time at which this packet was received.
Definition: rtppacket.h:152
int GetCSRCCount() const
Returns the number of CSRCs contained in this packet.
Definition: rtppacket.h:95
uint16_t GetExtensionID() const
If a header extension is present, this function returns the extension identifier. ...
Definition: rtppacket.h:136
Definition: rtpfaketransmitter.h:64
This class is used to specify wallclock time, delay intervals etc.
Definition: rtptimeutilities.h:84
A memory manager.
Definition: rtpmemorymanager.h:150
Represents an RTP Packet.
Definition: rtppacket.h:56
uint32_t GetTimestamp() const
Returns the timestamp of this packet.
Definition: rtppacket.h:118
size_t GetPacketLength() const
Returns the length of the entire packet.
Definition: rtppacket.h:130
uint8_t GetPayloadType() const
Returns the payload type of the packet.
Definition: rtppacket.h:103