Aller au contenu principal

3.4.1. RtpTransceivers

3.4.1. RtpTransceivers

Les RtpTransceivers permettent à l'application de contrôler le média RTP associé à une section "m=". Chaque RtpTransceiver possède un RtpSender et un RtpReceiver, que l'application peut utiliser pour contrôler l'envoi et la réception de médias RTP. L'application peut également modifier directement le RtpTransceiver, par exemple en l'arrêtant.

Les RtpTransceivers ont généralement une correspondance 1:1 avec les sections "m=", bien qu'il puisse y avoir plus de RtpTransceivers que de sections "m=" lorsque des RtpTransceivers sont créés mais pas encore associés à une section "m=", ou si des RtpTransceivers ont été arrêtés et dissociés des sections "m=". Un RtpTransceiver est dit associé à une section "m=" si sa propriété d'identification de média (mid) est non nulle; sinon, il est dit dissocié. La section "m=" associée est déterminée à l'aide d'un mappage entre les transceivers et les indices de section "m=", formé lors de la création d'une offre ou de l'application d'une offre distante.

Un RtpTransceiver n'est jamais associé à plus d'une section "m=", et une fois qu'une description de session est appliquée, une section "m=" est toujours associée à exactement un RtpTransceiver. Cependant, dans certains cas où une section "m=" a été rejetée, comme discuté dans la section 5.2.2 ci-dessous, cette section "m=" sera "recyclée" et associée à un nouveau RtpTransceiver avec une nouvelle valeur MID.

Les RtpTransceivers peuvent être créés explicitement par l'application ou implicitement en appelant setRemoteDescription avec une offre qui ajoute de nouvelles sections "m=".