Passa al contenuto principale

4.1.11. setLocalDescription

4.1.11. setLocalDescription

Il metodo setLocalDescription istruisce la PeerConnection ad applicare la descrizione della sessione fornita come sua configurazione locale. Il campo type indica se la descrizione deve essere elaborata come offerta, risposta provvisoria, risposta finale o rollback; offerte e risposte vengono controllate in modo diverso, utilizzando le varie regole che esistono per ogni riga SDP.

Questa API modifica lo stato dei media locali; tra le altre cose, imposta risorse locali per ricevere e decodificare i media. Per gestire con successo gli scenari in cui l'applicazione desidera offrire di passare da un formato multimediale a un formato diverso e incompatibile, la PeerConnection DEVE essere in grado di supportare simultaneamente l'uso sia delle descrizioni locali correnti che di quelle in sospeso (ad es., supportare i codec che esistono in entrambe le descrizioni). Questa doppia elaborazione inizia quando la PeerConnection entra nello stato "have-local-offer" e continua fino a quando setRemoteDescription viene chiamato con (1) una risposta finale, a quel punto la PeerConnection può adottare completamente la descrizione locale in sospeso, o (2) un rollback, che comporta il ripristino della descrizione locale corrente.

Questa API controlla indirettamente il processo di raccolta dei candidati. Quando viene fornita una descrizione locale e il numero di trasporti attualmente in uso non corrisponde al numero di trasporti necessari alla descrizione locale, la PeerConnection creerà trasporti secondo necessità e inizierà a raccogliere candidati per ciascun trasporto, utilizzando quelli dal pool di candidati se disponibili.

Se (1) setRemoteDescription è stato precedentemente chiamato con un'offerta, (2) setLocalDescription viene chiamato con una risposta (provvisoria o finale), (3) le direzioni dei media sono compatibili e (4) i media sono disponibili per l'invio, ciò comporterà l'avvio della trasmissione dei media.