2. The MSID Mechanism (MSID-Mechanismus)
Dieses Dokument definiert ein neues SDP-[RFC4566]-Medienlevel-Attribut msid. Dieses neue Attribut ermöglicht es Endpunkten, RTP-Ströme, die in getrennten Medienbeschreibungen beschrieben sind, den richtigen MediaStreams zuzuordnen, wie in [W3C-WebRTC] definiert. Außerdem können Endpunkte für jeden MediaStreamTrack eine Kennung im Feld appdata übertragen.
Der Wert des Attributs msid besteht aus einer Kennung und einem optionalen Feld appdata.
Der Name des Attributs ist msid.
Der Wert des Attributs wird durch folgende ABNF-[RFC5234]-Grammatik festgelegt:
msid-value = msid-id [ SP msid-appdata ]
msid-id = 1*64token-char ; see RFC 4566
msid-appdata = 1*64token-char ; see RFC 4566
Ein Beispielwert msid für eine Gruppe mit der Kennung examplefoo und Anwendungsdaten examplebar könnte so aussehen:
msid:examplefoo examplebar
Die Kennung ist eine Zeichenkette aus ASCII-Zeichen, die in einem token zulässig sind, mit einer Länge zwischen 1 und 64 Zeichen.
Anwendungsdaten (msid-appdata) stehen in derselben Zeile wie die Kennung, durch ein Leerzeichen getrennt.
Die Kennung (msid-id) identifiziert eine Gruppe innerhalb des Geltungsbereichs einer SDP-Beschreibung eindeutig.
In einer einzelnen Medienbeschreibung kann es mehrere msid-Attribute geben. Dies entspricht dem Fall, dass ein einzelner MediaStreamTrack in mehreren MediaStreams vorkommt; der Wert von msid-appdata MUSS für alle Vorkommen identisch sein.
Mehrere Medienbeschreibungen mit demselben Wert für msid-id und msid-appdata sind nicht zulässig.
Endpunkte können die Zuordnungen zwischen RTP-Strömen, die durch msid-Attribute ausgedrückt werden, jederzeit aktualisieren.
Die msid-Attribute hängen von der Zuordnung von RTP-Strömen zu Medienbeschreibungen ab, nicht von der Zuordnung von RTP-Strömen zu RTP-Transporten. Daher ist ihre Mux Category (definiert in [RFC8859]) NORMAL; bei der Festlegung von msid-Attributen muss nicht berücksichtigt werden, ob die RTP-Ströme gebündelt sind.