#include <oqueue.h>
Inheritance diagram for OutgoingDataQueue:
Public Member Functions | |
bool | addDestination (const InetHostAddress &ia, tpport_t dataPort=DefaultRTPDataPort, tpport_t controlPort=0) |
bool | addDestination (const InetMcastAddress &ia, tpport_t dataPort=DefaultRTPDataPort, tpport_t controlPort=0) |
bool | forgetDestination (const InetHostAddress &ia, tpport_t dataPort=DefaultRTPDataPort, tpport_t controlPort=0) |
bool | forgetDestination (const InetMcastAddress &ia, tpport_t dataPort=DefaultRTPDataPort, tpport_t controlPort=0) |
void | addContributor (uint32 csrc) |
Add csrc as the CSRC identifier of a new contributor. | |
bool | removeContributor (uint32 csrc) |
Remove CSRC from the list of contributors. | |
bool | isSending () const |
Determine if outgoing packets are waiting to send. | |
void | putData (uint32 stamp, const unsigned char *data=NULL, size_t len=0) |
This is used to create a data packet in the send queue. | |
void | setPadding (uint8 paddinglen) |
Set padding. | |
void | setMark (bool mark) |
Set marker bit for the packet in which the next data provided will be send. | |
bool | getMark () const |
Get wheter the mark bit will be set in the next packet. | |
size_t | setPartial (uint32 timestamp, unsigned char *data, size_t offset, size_t max) |
Set partial data for an already queued packet. | |
microtimeout_t | getDefaultSchedulingTimeout () const |
void | setSchedulingTimeout (microtimeout_t to) |
Set the default scheduling timeout to use when no data packets are waiting to be sent. | |
microtimeout_t | getDefaultExpireTimeout () const |
void | setExpireTimeout (microtimeout_t to) |
Set the "expired" timer for expiring packets pending in the send queue which have gone unsent and are already "too late" to be sent now. | |
microtimeout_t | getExpireTimeout () const |
uint32 | getSendPacketCount () const |
Get the total number of packets sent so far. | |
uint32 | getSendOctetCount () const |
Get the total number of octets (payload only) sent so far. | |
Protected Member Functions | |
OutgoingDataQueue () | |
virtual | ~OutgoingDataQueue () |
microtimeout_t | getSchedulingTimeout () |
This computes the timeout period for scheduling transmission of the next packet at the "head" of the send buffer. | |
size_t | dispatchDataPacket () |
This function is used by the service thread to process the next outgoing packet pending in the sending queue. | |
void | setInitialTimestamp (uint32 ts) |
uint32 | getInitialTimestamp () |
void | purgeOutgoingQueue () |
virtual void | setControlPeer (const InetAddress &host, tpport_t port)=0 |
Classes | |
struct | OutgoingRTPPktLink |
|
|
|
|
|
Add csrc as the CSRC identifier of a new contributor. This method adds the CSRC identifier to a list of contributors that will be inserted in every packet enqueued from now on. |
|
|
|
|
|
This function is used by the service thread to process the next outgoing packet pending in the sending queue.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Get wheter the mark bit will be set in the next packet.
|
|
This computes the timeout period for scheduling transmission of the next packet at the "head" of the send buffer. If no packets are waiting, a default timeout is used. This actually forms the "isPending()" timeout of the rtp receiver in the service thread.
|
|
Get the total number of octets (payload only) sent so far.
|
|
Get the total number of packets sent so far.
|
|
Determine if outgoing packets are waiting to send.
|
|
|
|
This is used to create a data packet in the send queue. Sometimes a "NULL" or empty packet will be used instead, and these are known as "silent" packets. "Silent" packets are used simply to "push" the scheduler along more accurately by giving the appearence that a next packet is waiting to be sent and to provide a valid timestamp for that packet.
|
|
Remove CSRC from the list of contributors.
|
|
Implemented in RTPDuplex. |
|
Set the "expired" timer for expiring packets pending in the send queue which have gone unsent and are already "too late" to be sent now.
|
|
|
|
Set marker bit for the packet in which the next data provided will be send. When transmitting audio, should be set for the first packet of a talk spurt. When transmitting video, should be set for the last packet for a video frame.
|
|
Set padding. All outgoing packets will be transparently padded to a multiple of paddinglen.
|
|
Set partial data for an already queued packet. This is often used for multichannel data.
|
|
Set the default scheduling timeout to use when no data packets are waiting to be sent.
|