SyncSource - Synchronization source in an RTP session.
Contents
Constructor & Destructor Documentation
SyncSource::SyncSource(uint32ssrc)Parametersssrc SSRC identifier of the source, unique in each session. SyncSource::~SyncSource()SyncSource::SyncSource(constSyncSource&source)[protected]Parameterssource The RTPSource object being copied
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.orgExamplesccrtptest.cpp, and rtplisten.cpp.
Member Enumeration Documentation
enumSyncSource::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 (
SeealsoIncomingDataQueue::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.
EnumeratorstateUnknown
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.
Member Function Documentation
tpport_tSyncSource::getControlTransportPort()const[inline]Examplesccrtptest.cpp, and rtplisten.cpp.
tpport_tSyncSource::getDataTransportPort()const[inline]Examplesccrtptest.cpp, and rtplisten.cpp.
uint32SyncSource::getID()const[inline]Examplesccrtptest.cpp, and rtplisten.cpp.
constInetAddress&SyncSource::getNetworkAddress()const[inline]Examplesccrtptest.cpp, and rtplisten.cpp.
Participant*SyncSource::getParticipant()const[inline]
Get the participant this synchronization source is asociated to.
ReturnvaluesNULL if the stack has not been yet able to identify the participant this source is associated to.
Examplesccrtptest.cpp, and rtplisten.cpp.
StateSyncSource::getState()const[inline]boolSyncSource::isSender()const[inline]
Whether this source sends RTP data packets.
Examplesccrtptest.cpp.
SyncSource&SyncSource::operator=(constSyncSource&source)[protected]Name
SyncSource - Synchronization source in an RTP session.
Synopsis
#include <sources.h>
PublicTypes
enum State { stateUnknown, statePrevalid, stateActive, stateInactive, stateLeaving }
Synchronization source states during an RTP session.
PublicMemberFunctionsSyncSource (uint32 ssrc)
~SyncSource ()
StategetState () 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
ProtectedMemberFunctionsSyncSource (const SyncSource &source)
SyncSource & operator= (const SyncSource &source)
Friends
class SyncSourceHandler