Zum Hauptinhalt springen

4.1.11. setLocalDescription

4.1.11. setLocalDescription

Die setLocalDescription-Methode weist die PeerConnection an, die bereitgestellte Sitzungsbeschreibung als ihre lokale Konfiguration anzuwenden. Das Typfeld gibt an, ob die Beschreibung als Angebot, vorläufige Antwort, endgültige Antwort oder Rollback verarbeitet werden soll; Angebote und Antworten werden unterschiedlich überprüft, wobei die verschiedenen Regeln verwendet werden, die für jede SDP-Zeile existieren.

Diese API ändert den lokalen Medienstatus; unter anderem richtet sie lokale Ressourcen zum Empfangen und Dekodieren von Medien ein. Um Szenarien erfolgreich zu handhaben, in denen die Anwendung anbieten möchte, von einem Medienformat zu einem anderen, inkompatiblen Format zu wechseln, MUSS die PeerConnection in der Lage sein, die Verwendung sowohl der aktuellen als auch der ausstehenden lokalen Beschreibungen gleichzeitig zu unterstützen (z.B. die Codecs zu unterstützen, die in einer der Beschreibungen vorhanden sind). Diese duale Verarbeitung beginnt, wenn die PeerConnection in den "have-local-offer"-Zustand eintritt, und sie setzt sich fort, bis setRemoteDescription entweder mit (1) einer endgültigen Antwort aufgerufen wird, zu welchem Zeitpunkt die PeerConnection die ausstehende lokale Beschreibung vollständig übernehmen kann, oder (2) einem Rollback, was zu einer Rückkehr zur aktuellen lokalen Beschreibung führt.

Diese API steuert indirekt den Kandidatensammlungsprozess. Wenn eine lokale Beschreibung bereitgestellt wird und die Anzahl der aktuell verwendeten Transporte nicht mit der Anzahl der von der lokalen Beschreibung benötigten Transporte übereinstimmt, erstellt die PeerConnection nach Bedarf Transporte und beginnt, Kandidaten für jeden Transport zu sammeln, wobei verfügbare aus dem Kandidatenpool verwendet werden.

Wenn (1) setRemoteDescription zuvor mit einem Angebot aufgerufen wurde, (2) setLocalDescription mit einer Antwort (vorläufig oder endgültig) aufgerufen wird, (3) die Medienrichtungen kompatibel sind und (4) Medien zum Senden verfügbar sind, führt dies zum Start der Medienübertragung.