44#ifndef CCXX_RTP_QUEUEBASE_H_
45#define CCXX_RTP_QUEUEBASE_H_
47#include <commoncpp/pointer.h>
96 {
return datablock->getPayloadType(); }
105 inline const uint8*
const
107 {
return datablock->getPayload(); }
114 {
return datablock->getPayloadSize(); }
130 {
return datablock->isMarked(); }
137 {
return datablock->getSeqNum(); }
144 {
return (uint8)datablock->getCSRCsCount(); }
153 {
return datablock->getCSRCs(); }
156 Pointer<const IncomingRTPPkt> datablock;
186 {
return localSSRC; }
197 {
return currentRTPClockRate; }
200 {
return currentPayloadType; }
203 {
return initialTime; }
213 { localSSRC = ssrc; localSSRCNetwork = htonl(ssrc); }
216 {
return localSSRCNetwork; }
228 inline virtual size_t
240 uint32 localSSRCNetwork;
242 uint32 currentRTPClockRate;
261 {
return defaultMaxSendSegmentSize;}
271 { maxSendSegmentSize = size; }
275 {
return maxSendSegmentSize; }
285 static const size_t defaultMaxSendSegmentSize;
287 size_t maxSendSegmentSize;
300 {
return defaultMaxRecvPacketSize; }
304 {
return maxRecvPacketSize; }
318 { maxRecvPacketSize = maxsize; }
322 { setMaxRecvPacketSize(getDefaultMaxRecvPacketSize()); }
329 static const size_t defaultMaxRecvPacketSize;
331 size_t maxRecvPacketSize;
Interface (envelope) to data received over RTP packets.
Definition: queuebase.h:70
uint8 getContributorsCount() const
Get the number of contributing sources in the CSRC list.
Definition: queuebase.h:143
PayloadType getType() const
Definition: queuebase.h:95
uint16 getSeqNum() const
Get data unit sequence number.
Definition: queuebase.h:136
bool isMarked() const
Is this data unit marked?.
Definition: queuebase.h:129
size_t getSize() const
Definition: queuebase.h:113
AppDataUnit & operator=(const AppDataUnit &source)
Assignment operator.
AppDataUnit(const AppDataUnit &src)
const uint8 *const getData() const
Get data as it is received in RTP packets (i.e.
Definition: queuebase.h:106
const SyncSource & getSource() const
Definition: queuebase.h:120
~AppDataUnit()
Definition: queuebase.h:74
AppDataUnit(const IncomingRTPPkt &packet, const SyncSource &src)
const uint32 * getContributorsID() const
Get the array of 32-bit CSRC identifiers.
Definition: queuebase.h:152
Definition: queuebase.h:297
size_t getMaxRecvPacketSize() const
Definition: queuebase.h:303
void setMaxRecvPacketSize(size_t maxsize)
Definition: queuebase.h:317
virtual ~IncomingDataQueueBase()
Definition: queuebase.h:325
IncomingDataQueueBase()
Definition: queuebase.h:321
size_t getDefaultMaxRecvPacketSize() const
Definition: queuebase.h:299
RTP packets received from other participants.
Definition: rtppkt.h:706
Definition: queuebase.h:257
size_t getMaxSendSegmentSize()
Definition: queuebase.h:274
void setMaxSendSegmentSize(size_t size)
Set maximum payload segment size before fragmenting sends.
Definition: queuebase.h:270
virtual ~OutgoingDataQueueBase()
Definition: queuebase.h:281
size_t getDefaultMaxSendSegmentSize()
Definition: queuebase.h:260
A virtual base class for RTP queue hierarchies.
Definition: queuebase.h:168
uint32 getLocalSSRC() const
Definition: queuebase.h:185
RTPQueueBase(uint32 *ssrc=NULL)
PayloadType getCurrentPayloadType() const
Definition: queuebase.h:199
bool setPayloadFormat(const PayloadFormat &pf)
Set the payload format in use, for timing and payload type identification purposes.
Definition: queuebase.h:178
uint32 getLocalSSRCNetwork() const
Definition: queuebase.h:215
timeval getInitialTime() const
Definition: queuebase.h:202
void setLocalSSRC(uint32 ssrc)
Definition: queuebase.h:212
uint32 getCurrentRTPClockRate() const
Get the clock rate in RTP clock units (for instance, 8000 units per second for PCMU,...
Definition: queuebase.h:196
virtual void renewLocalSSRC()
Definition: queuebase.h:233
virtual size_t dispatchBYE(const std::string &)
A plugin point for posting of BYE messages.
Definition: queuebase.h:229
virtual ~RTPQueueBase()
Definition: queuebase.h:219
Synchronization source in an RTP session.
Definition: sources.h:195
uint8 PayloadType
RTP payload type numeric identifier.
Definition: formats.h:63
Sources of synchronization and participants related clases.