Provided by: libccrtp-doc_2.0.6-3_all bug

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.

       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.

Constructor & Destructor Documentation

   SyncSource::SyncSource (uint32ssrc)
       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.