Aller au contenu principal

5.3. Association côté récepteur

Un récepteur recevant plusieurs flux d'origine et de retransmission doit associer chaque flux de retransmission à son flux d'origine. L'association se fait différemment selon que le multiplexage par session ou par SSRC est utilisé.

Si le multiplexage par session est utilisé, le récepteur associe les deux flux ayant le même SSRC dans les deux sessions. Noter que le champ type de charge utile ne peut pas servir à l'association car plusieurs flux média peuvent avoir la même valeur de type de charge utile. Les deux sessions sont elles-mêmes associées hors bande. Voir la section 8 pour la façon dont le regroupement des deux sessions est fait avec SDP.

Si le multiplexage par SSRC est utilisé, le récepteur doit d'abord rechercher deux flux ayant le même CNAME dans la session. Dans certains cas, le CNAME peut ne pas suffire à déterminer l'association car plusieurs flux d'origine dans la même session peuvent partager le même CNAME. Par exemple, il peut y avoir dans la même session vidéo plusieurs flux vidéo mappés à des SSRC différents tout en utilisant encore le même CNAME et éventuellement les mêmes valeurs de type de charge utile (PT). Chacun (ou certains) de ces flux peut avoir un flux de retransmission associé.

Dans ce cas, pour déterminer l'association entre flux d'origine et flux de retransmission ayant le même CNAME, le récepteur SHOULD se comporter comme suit.

L'association peut en général être résolue lorsque le récepteur reçoit un paquet de retransmission correspondant à une demande de retransmission envoyée auparavant. À la réception d'un paquet de retransmission dont le numéro de séquence d'origine a été demandé précédemment, le récepteur peut déduire que le SSRC du paquet de retransmission est associé au SSRC d'émetteur auprès duquel le paquet a été demandé.

Toutefois, ce mécanisme peut échouer s'il existe deux demandes en cours pour le même numéro de séquence de paquet dans deux flux d'origine différents de la session. Noter que, les numéros de séquence initiaux des paquets étant aléatoires, la probabilité d'avoir deux demandes en cours pour le même numéro de séquence de paquet serait très faible. Néanmoins, pour éviter toute ambiguïté en cas d'unicast, le récepteur MUST NOT avoir deux demandes en cours pour le même numéro de séquence de paquet dans deux flux d'origine différents avant que l'association ne soit résolue. En multicast, cette ambiguïté ne peut pas être complètement évitée, car un autre récepteur peut avoir demandé le même numéro de séquence à partir d'un autre flux. Par conséquent, le multiplexage par SSRC MUST NOT être utilisé dans les sessions multicast.

Si le récepteur découvre que deux émetteurs utilisent le même SSRC ou s'il reçoit un paquet RTCP BYE, il MUST cesser de demander des retransmissions pour ce SSRC. À la réception de paquets RTP d'origine avec un nouveau SSRC, le récepteur MUST effectuer à nouveau l'association SSRC comme décrit dans la présente section.