ccRTP
Classes | Enumerations | Functions
Participants and synchronization sources.

Classes

class  SDESItemsHolder
 Holds the SDES items and related information from a participant in an RTP application. More...
 
class  Participant
 A class of objects representing remote participants (RTP applications) in a multimedia session. More...
 
class  SyncSource
 Synchronization source in an RTP session. More...
 
class  RTPApplication
 An RTP application, holding identifying RTCP SDES item values. More...
 
class  RTPApplication::ParticipantsIterator
 Iterator through the list of participants in this session. More...
 

Enumerations

enum  SyncSource::State {
  SyncSource::stateUnknown, SyncSource::statePrevalid, SyncSource::stateActive, SyncSource::stateInactive,
  SyncSource::stateLeaving
}
 Synchronization source states during an RTP session. More...
 

Functions

__EXPORT RTPApplicationdefaultApplication ()
 Get the RTPApplication object for the "default" application (the only one used by common applications -those that only implement one "RTP application"). More...
 

Detailed Description

Enumeration Type Documentation

Synchronization source states during an RTP session.

In general, new synchronization sources are not considered valid until multiple valid data packets or a valid RTCP compound packet has been received from the new source (

See also
IncomingDataQueue::setMinValidPacketSequence()). Thus, the source will probably be in statePrevalid before reaching one of the two states that indicate a valid source: stateActive and stateInactive.

A valid participant is in stateActive state if RTP and/or RTCP packets are currently being received from it. If, after a small number of RTCP report intervals (see IncomingDataQueue::setSourceExpirationPeriod() ), no packets are received, it will reach the stateInactive state. If, after a small number of RTCP report intervals, no packet is received from an inactive source, it will be deleted.

If RTCP is being used, after receiving a BYE RTCP packet from a synchronization source, it will reach the stateLeaving state and will be deleted after a delay (see QueueRTCPManager::setLeavingDelay()).

Sources in statePrevalid and stateLeaving are not counted for the number of session members estimation.

Enumerator
stateUnknown 

No valid packet has been received.

statePrevalid 

Some packets have been.

stateActive 

received, but source validity not yet guaranteed.

We currently receive packets

stateInactive 

(data or control) from this source.

Was active in the near past but

stateLeaving 

no packet from this source has been received lately.

An RTCP BYE has been received from the source.

Function Documentation

__EXPORT RTPApplication& defaultApplication ( )

Get the RTPApplication object for the "default" application (the only one used by common applications -those that only implement one "RTP application").

Note that this application object differs from all the others that may be defined in that it is automatically constructed by the ccRTP stack and its CNAME is automatically assigned (as user@host), whereas the other application objects' CNAME is provided to its constructor.

Examples:
ccrtptest.cpp, rtphello.cpp, rtplisten.cpp, and rtpsend.cpp.