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.