41 #include "rtpconfig.h"
56 class JRTPLIB_IMPORTEXPORT
RTPPacket :
public RTPMemoryObject
72 RTPPacket(uint8_t payloadtype,
const void *payloaddata,
size_t payloadlen,uint16_t seqnr,
73 uint32_t timestamp,uint32_t ssrc,
bool gotmarker,uint8_t numcsrcs,
const uint32_t *csrcs,
74 bool gotextension,uint16_t extensionid,uint16_t extensionlen_numwords,
const void *extensiondata,
79 RTPPacket(uint8_t payloadtype,
const void *payloaddata,
size_t payloadlen,uint16_t seqnr,
80 uint32_t timestamp,uint32_t ssrc,
bool gotmarker,uint8_t numcsrcs,
const uint32_t *csrcs,
81 bool gotextension,uint16_t extensionid,uint16_t extensionlen_numwords,
const void *extensiondata,
84 virtual ~
RTPPacket() {
if (packet && !externalbuffer) RTPDeleteByteArray(packet,GetMemoryManager()); }
157 int BuildPacket(uint8_t payloadtype,
const void *payloaddata,
size_t payloadlen,uint16_t seqnr,
158 uint32_t timestamp,uint32_t ssrc,
bool gotmarker,uint8_t numcsrcs,
const uint32_t *csrcs,
159 bool gotextension,uint16_t extensionid,uint16_t extensionlen_numwords,
const void *extensiondata,
160 void *buffer,
size_t maxsize);
164 bool hasextension,hasmarker;
168 uint32_t extseqnr,timestamp,ssrc;
169 uint8_t *packet,*payload;
170 size_t packetlength,payloadlength;
174 size_t extensionlength;
A memory manager.
Definition: rtpmemorymanager.h:151
Represents an RTP Packet.
Definition: rtppacket.h:57
uint32_t GetCSRC(int num) const
Returns a specific CSRC identifier.
RTPPacket(uint8_t payloadtype, const void *payloaddata, size_t payloadlen, uint16_t seqnr, uint32_t timestamp, uint32_t ssrc, bool gotmarker, uint8_t numcsrcs, const uint32_t *csrcs, bool gotextension, uint16_t extensionid, uint16_t extensionlen_numwords, const void *extensiondata, size_t maxpacksize, RTPMemoryManager *mgr=0)
Creates a new buffer for an RTP packet and fills in the fields according to the specified parameters.
uint8_t GetPayloadType() const
Returns the payload type of the packet.
Definition: rtppacket.h:104
int GetCreationError() const
If an error occurred in one of the constructors, this function returns the error code.
Definition: rtppacket.h:87
uint8_t * GetPacketData() const
Returns a pointer to the data of the entire packet.
Definition: rtppacket.h:125
uint32_t GetExtendedSequenceNumber() const
Returns the extended sequence number of the packet.
Definition: rtppacket.h:110
void SetExtendedSequenceNumber(uint32_t seq)
Sets the extended sequence number of this packet to seq.
Definition: rtppacket.h:116
uint16_t GetSequenceNumber() const
Returns the sequence number of this packet.
Definition: rtppacket.h:113
RTPPacket(RTPRawPacket &rawpack, RTPMemoryManager *mgr=0)
Creates an RTPPacket instance based upon the data in rawpack, optionally installing a memory manager.
uint8_t * GetExtensionData() const
Returns the length of the header extension data.
Definition: rtppacket.h:140
RTPTime GetReceiveTime() const
Returns the time at which this packet was received.
Definition: rtppacket.h:153
size_t GetPayloadLength() const
Returns the payload length.
Definition: rtppacket.h:134
bool HasExtension() const
Returns true if the RTP packet has a header extension and false otherwise.
Definition: rtppacket.h:90
size_t GetExtensionLength() const
Returns the length of the header extension data.
Definition: rtppacket.h:143
RTPPacket(uint8_t payloadtype, const void *payloaddata, size_t payloadlen, uint16_t seqnr, uint32_t timestamp, uint32_t ssrc, bool gotmarker, uint8_t numcsrcs, const uint32_t *csrcs, bool gotextension, uint16_t extensionid, uint16_t extensionlen_numwords, const void *extensiondata, void *buffer, size_t buffersize, RTPMemoryManager *mgr=0)
This constructor is similar to the other constructor, but here data is stored in an external buffer b...
size_t GetPacketLength() const
Returns the length of the entire packet.
Definition: rtppacket.h:131
bool HasMarker() const
Returns true if the marker bit was set and false otherwise.
Definition: rtppacket.h:93
uint32_t GetSSRC() const
Returns the SSRC identifier stored in this packet.
Definition: rtppacket.h:122
uint8_t * GetPayloadData() const
Returns a pointer to the actual payload data.
Definition: rtppacket.h:128
uint32_t GetTimestamp() const
Returns the timestamp of this packet.
Definition: rtppacket.h:119
int GetCSRCCount() const
Returns the number of CSRCs contained in this packet.
Definition: rtppacket.h:96
uint16_t GetExtensionID() const
If a header extension is present, this function returns the extension identifier.
Definition: rtppacket.h:137
This class is used by the transmission component to store the incoming RTP and RTCP data in.
Definition: rtprawpacket.h:53
This class is used to specify wallclock time, delay intervals etc.
Definition: rtptimeutilities.h:86