Synchronization source in an RTP session.
More...
#include <sources.h>
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 fedem.nosp@m.p@al.nosp@m.tern..nosp@m.org
- Examples
- ccrtptest.cpp, and rtplisten.cpp.
◆ 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.
|
◆ SyncSource() [1/2]
SyncSource::SyncSource |
( |
uint32 |
ssrc | ) |
|
- Parameters
-
ssrc | SSRC identifier of the source, unique in each session. |
◆ ~SyncSource()
SyncSource::~SyncSource |
( |
| ) |
|
◆ SyncSource() [2/2]
SyncSource::SyncSource |
( |
const SyncSource & |
source | ) |
|
|
protected |
- Parameters
-
source | The RTPSource object being copied |
◆ getControlTransportPort()
tpport_t SyncSource::getControlTransportPort |
( |
| ) |
const |
|
inline |
◆ getDataTransportPort()
tpport_t SyncSource::getDataTransportPort |
( |
| ) |
const |
|
inline |
◆ getID()
uint32 SyncSource::getID |
( |
| ) |
const |
|
inline |
◆ getNetworkAddress()
const InetAddress& SyncSource::getNetworkAddress |
( |
| ) |
const |
|
inline |
◆ getParticipant()
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.
◆ getState()
State SyncSource::getState |
( |
| ) |
const |
|
inline |
◆ isSender()
bool SyncSource::isSender |
( |
| ) |
const |
|
inline |
Whether this source sends RTP data packets.
- Examples
- ccrtptest.cpp.
◆ operator=()
◆ SyncSourceHandler
The documentation for this class was generated from the following file: