4.1.11. setLocalDescription
4.1.11. setLocalDescription
La méthode setLocalDescription demande à la PeerConnection d'appliquer la description de session fournie comme sa configuration locale. Le champ type indique si la description doit être traitée comme une offre, une réponse provisoire, une réponse finale ou un rollback; les offres et les réponses sont vérifiées différemment, en utilisant les diverses règles qui existent pour chaque ligne SDP.
Cette API modifie l'état multimédia local; entre autres choses, elle configure les ressources locales pour recevoir et décoder les médias. Afin de gérer avec succès les scénarios où l'application souhaite offrir de passer d'un format multimédia à un format différent et incompatible, la PeerConnection DOIT être capable de prendre en charge simultanément l'utilisation des descriptions locales actuelles et en attente (par exemple, prendre en charge les codecs qui existent dans l'une ou l'autre description). Ce double traitement commence lorsque la PeerConnection entre dans l'état "have-local-offer", et il continue jusqu'à ce que setRemoteDescription soit appelé avec soit (1) une réponse finale, auquel cas la PeerConnection peut adopter pleinement la description locale en attente, soit (2) un rollback, ce qui entraîne un retour à la description locale actuelle.
Cette API contrôle indirectement le processus de collecte de candidats. Lorsqu'une description locale est fournie et que le nombre de transports actuellement utilisés ne correspond pas au nombre de transports nécessaires à la description locale, la PeerConnection créera des transports selon les besoins et commencera à collecter des candidats pour chaque transport, en utilisant ceux du pool de candidats s'ils sont disponibles.
Si (1) setRemoteDescription a été précédemment appelé avec une offre, (2) setLocalDescription est appelé avec une réponse (provisoire ou finale), (3) les directions multimédias sont compatibles, et (4) des médias sont disponibles pour l'envoi, cela entraînera le démarrage de la transmission multimédia.