|
Public Member Functions |
SyncSourcesIterator | begin () |
SyncSourcesIterator | end () |
const AppDataUnit * | getData (uint32 stamp, const SyncSource *src=NULL) |
| Retreive data from a specific timestamped packet if such a packet is currently available in the receive buffer.
|
bool | isWaiting (const SyncSource *src=NULL) const |
| Determine if packets are waiting in the reception queue.
|
uint32 | getFirstTimestamp (const SyncSource *src=NULL) const |
| Get timestamp of first packet waiting in the queue.
|
void | setMinValidPacketSequence (uint8 packets) |
| When receiving packets from a new source, it may be convenient to reject a first few packets before we are really sure the source is valid.
|
uint8 | getDefaultMinValidPacketSequence () const |
uint8 | getMinValidPacketSequence () const |
| Get the minimun number of consecutive packets that must be received from a source before accepting its data packets.
|
void | setMaxPacketMisorder (uint16 packets) |
uint16 | getDefaultMaxPacketMisorder () const |
uint16 | getMaxPacketMisorder () const |
void | setMaxPacketDropout (uint16 packets) |
| It also prevents packets sent after a restart of the source being immediately accepted.
|
uint16 | getDefaultMaxPacketDropout () const |
uint16 | getMaxPacketDropout () const |
void | setInQueueCryptoContext (CryptoContext *cc) |
| Set input queue CryptoContext.
|
void | removeInQueueCryptoContext (CryptoContext *cc) |
| Remove input queue CryptoContext.
|
CryptoContext * | getInQueueCryptoContext (uint32 ssrc) |
| Get an input queue CryptoContext identified by SSRC.
|
Static Public Member Functions |
size_t | getDefaultMembersSize () |
Protected Member Functions |
| IncomingDataQueue (uint32 size) |
virtual | ~IncomingDataQueue () |
bool | checkSSRCInIncomingRTPPkt (SyncSourceLink &sourceLink, bool is_new, InetAddress &na, tpport_t tp) |
| Apply collision and loop detection and correction algorithm when receiving RTP data packets.
|
void | setSourceExpirationPeriod (uint8 intervals) |
| Set the number of RTCP intervals that the stack will wait to change the state of a source from stateActive to stateInactive, or to delete the source after being in stateInactive.
|
virtual size_t | takeInDataPacket () |
| This function is used by the service thread to process the next incoming packet and place it in the receive list.
|
void | renewLocalSSRC () |
IncomingDataQueue::IncomingRTPPktLink * | getWaiting (uint32 timestamp, const SyncSource *src=NULL) |
| This is used to fetch a packet in the receive queue and to expire packets older than the current timestamp.
|
bool | recordReception (SyncSourceLink &srcLink, const IncomingRTPPkt &pkt, const timeval recvtime) |
| Log reception of a new RTP packet from this source.
|
void | recordExtraction (const IncomingRTPPkt &pkt) |
| Log extraction of a packet from this source from the scheduled reception queue.
|
void | purgeIncomingQueue () |
virtual void | onNewSyncSource (const SyncSource &) |
| Virtual called when a new synchronization source has joined the session.
|
virtual bool | onRTPPacketRecv (IncomingRTPPkt &) |
| A virtual function to support parsing of arriving packets to determine if they should be kept in the queue and to dispatch events.
|
virtual void | onExpireRecv (IncomingRTPPkt &) |
| A hook to filter packets in the receive queue that are being expired.
|
virtual bool | onSRTPPacketError (IncomingRTPPkt &pkt, int32 errorCode) |
| A hook that gets called if the decoding of an incoming SRTP was erroneous.
|
virtual bool | end2EndDelayed (IncomingRTPPktLink &) |
bool | insertRecvPacket (IncomingRTPPktLink *packetLink) |
| Insert a just received packet in the queue (both general and source specific queues).
|
virtual size_t | recvData (unsigned char *buffer, size_t length, InetHostAddress &host, tpport_t &port)=0 |
| This function performs the physical I/O for reading a packet from the source.
|
virtual size_t | getNextDataPacketSize () const=0 |
Protected Attributes |
ThreadLock | recvLock |
IncomingRTPPktLink * | recvFirst |
IncomingRTPPktLink * | recvLast |
uint8 | minValidPacketSequence |
uint16 | maxPacketMisorder |
uint16 | maxPacketDropout |
uint8 | sourceExpirationPeriod |
Mutex | cryptoMutex |
std::list< CryptoContext * > | cryptoContexts |
Static Protected Attributes |
const uint8 | defaultMinValidPacketSequence |
const uint16 | defaultMaxPacketMisorder |
const uint16 | defaultMaxPacketDropout |
const size_t | defaultMembersSize |