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.
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 (
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. |