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