Zum Hauptinhalt springen

3.4.1. RtpTransceivers

3.4.1. RtpTransceivers

RtpTransceivers ermöglichen es der Anwendung, die mit einem "m="-Abschnitt verbundenen RTP-Medien zu steuern. Jeder RtpTransceiver hat einen RtpSender und einen RtpReceiver, die eine Anwendung verwenden kann, um das Senden und Empfangen von RTP-Medien zu steuern. Die Anwendung kann den RtpTransceiver auch direkt ändern, beispielsweise indem sie ihn stoppt.

RtpTransceivers haben im Allgemeinen eine 1:1-Zuordnung zu "m="-Abschnitten, obwohl es mehr RtpTransceivers als "m="-Abschnitte geben kann, wenn RtpTransceivers erstellt, aber noch nicht einem "m="-Abschnitt zugeordnet sind, oder wenn RtpTransceivers gestoppt und von "m="-Abschnitten getrennt wurden. Ein RtpTransceiver gilt als einem "m="-Abschnitt zugeordnet, wenn seine Medienidentifikation (mid)-Eigenschaft nicht null ist; andernfalls gilt er als getrennt. Der zugeordnete "m="-Abschnitt wird mithilfe einer Zuordnung zwischen Transceivern und "m="-Abschnittsindizes bestimmt, die beim Erstellen eines Angebots oder beim Anwenden eines entfernten Angebots gebildet wird.

Ein RtpTransceiver ist niemals mehr als einem "m="-Abschnitt zugeordnet, und sobald eine Sitzungsbeschreibung angewendet wird, ist ein "m="-Abschnitt immer mit genau einem RtpTransceiver verbunden. In bestimmten Fällen, in denen ein "m="-Abschnitt abgelehnt wurde, wie in Abschnitt 5.2.2 unten erläutert, wird dieser "m="-Abschnitt jedoch "recycelt" und einem neuen RtpTransceiver mit einem neuen MID-Wert zugeordnet.

RtpTransceivers können explizit von der Anwendung erstellt werden oder implizit durch Aufruf von setRemoteDescription mit einem Angebot, das neue "m="-Abschnitte hinzufügt.