man SyncSource (Fonctions bibliothèques) - Synchronization source in an RTP session.
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: rtplisten.cpp.
tpport_t SyncSource::getDataTransportPort () const [inline]
Examples: rtplisten.cpp.
uint32 SyncSource::getID () const [inline]
Examples: rtplisten.cpp.
const InetAddress& SyncSource::getNetworkAddress () const [inline]
Examples: 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: rtplisten.cpp.
State SyncSource::getState () const [inline]
bool SyncSource::isSender () const [inline]
Whether this source sends RTP data packets.
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.