Вызов createAnswer не меняет `signallingState` - PullRequest
0 голосов
/ 02 февраля 2019

Вызов createAnswer не меняется signalingState, он все еще в have-remote-offer.Какова может быть возможная причина этого.

    offerSdp = { "sdp": offerSdp, "type": "offer" };

    pc.setRemoteDescription(new RTCSessionDescription(offerSdp)).then(() => {
        pc.createAnswer().then(answer => {
            //state still have-remote-offer
            pc.setLocalDescription(new RTCSessionDescription(answer)).then(() => {
                deferred.resolve(answer.sdp)
            });
        });
    });

1 Ответ

0 голосов
/ 02 февраля 2019

createOffer / createAnswer просто создайте предложение / ответ соответственно (он же «описание») и верните их вам, чтобы разойтись.Они не влияют на signalingState .

setLocalDescription и setRemoteDescription do:

enter image description here

Если выпроверьте состояние после разрешения этих методов, затем вы должны увидеть ожидаемое состояние.

Обратите внимание, что, как показано на диаграмме, разрешены только определенные переходы состояний.Например, setLocalDecription можно вызывать только с ответом в состоянии have-remote-offer.Вызов с предложением приведет к ошибке.

...