Scroll to navigation

SyncSource(3) Library Functions Manual SyncSource(3)

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

No valid packet has been received.
Some packets have been.
received, but source validity not yet guaranteed. We currently receive packets
(data or control) from this source. Was active in the near past but
no packet from this source has been received lately. 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 Symbol Documentation

friend class SyncSourceHandler [friend]

Author

Generated automatically by Doxygen for ccRTP from the source code.

ccRTP