Man Linux: Main Page and Category List

NAME

       SyncSource -

       Synchronization source in an RTP session.

SYNOPSIS

       #include <sources.h>

   Public Types
       enum State { stateUnknown, statePrevalid, stateActive, stateInactive,
           stateLeaving }
           Synchronization source states during an RTP session.

   Public Member Functions
       SyncSource (uint32 ssrc)
       ~SyncSource ()
       State getState () const
       bool isSender () const
           Whether this source sends RTP data packets.
       uint32 getID () const
       Participant * getParticipant () const
           Get the participant this synchronization source is asociated to.
       tpport_t getDataTransportPort () const
       tpport_t getControlTransportPort () const
       const InetAddress & getNetworkAddress () const

   Protected Member Functions
       SyncSource (const SyncSource &source)
       SyncSource & operator= (const SyncSource &source)

   Friends
       class SyncSourceHandler

Detailed Description

       Synchronization source in an RTP session.

       Each synchronization source in an RTP session is identified by a 32-bit
       numeric SSRC identifier. Each SyncSource object is related to a
       Participant object, which can be retrieved through the getParticipant()
       method.

       Author:
           Federico Montesino Pouzols <fedemp@altern.org>

       Examples:

       ccrtptest.cpp, and rtplisten.cpp.

Member Enumeration Documentation

   enum SyncSource::State
       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 received, but source validity not yet
              guaranteed.

       stateActive
              We currently receive packets (data or control) from this source.

       stateInactive
              Was active in the near past but no packet from this source has
              been received lately.

       stateLeaving
              An RTCP BYE has been received from the source.

Constructor & Destructor Documentation

   SyncSource::SyncSource (uint32 ssrc) Parameters:
           ssrc SSRC identifier of the source, unique in each session.

   SyncSource::~SyncSource ()
   SyncSource::SyncSource (const SyncSource & source) [protected] Parameters:
           source The RTPSource object being copied

Member Function Documentation

   tpport_t SyncSource::getControlTransportPort () const [inline]
       Examples:
           ccrtptest.cpp, and rtplisten.cpp.

   tpport_t SyncSource::getDataTransportPort () const [inline]
       Examples:
           ccrtptest.cpp, and rtplisten.cpp.

   uint32 SyncSource::getID () const [inline]
       Examples:
           ccrtptest.cpp, and rtplisten.cpp.

   const InetAddress& SyncSource::getNetworkAddress () const [inline]
       Examples:
           ccrtptest.cpp, and rtplisten.cpp.

   Participant* SyncSource::getParticipant () const [inline]
       Get the participant this synchronization source is asociated to. Return
       values:
           NULL if the stack has not been yet able to identify the participant
           this source is associated to.

       Examples:
           ccrtptest.cpp, and rtplisten.cpp.

   State SyncSource::getState () const [inline]
   bool SyncSource::isSender () const [inline]
       Whether this source sends RTP data packets.

       Examples:
           ccrtptest.cpp.

   SyncSource& SyncSource::operator= (const SyncSource & source) [protected]

Friends And Related Function Documentation

   friend class SyncSourceHandler [friend]

Author

       Generated automatically by Doxygen for ccRTP from the source code.