Сбой ICE при использовании Firefox для Android после первого звонка

На некоторых устройствах (особенно Samsung) я обнаружил следующую ошибку при установке P2P-соединения:

Ошибка обработки кандидата ICE - не удалось установить удаленное предложение sdp: порядок m-строк в последующем предложении не соответствует порядку из предыдущего предложения / ответа

Если я устанавливаю соединение в первый раз, оно работает отлично, но если я пытаюсь сделать это во второй раз, это не удается, пока я не подожду некоторое время, даже если я принудительно закрываю соединение P2P. Этого не происходит с Chrome для Android или любого устройства.

Мой код перед установкой кандидата на лед:

    var candidate = new RTCIceCandidate({
        sdpMLineIndex: evt.sdpMLineIndex,
        sdpMid       : evt.sdpMid,
        candidate    : evt.candidate
    });
    peerConn.addIceCandidate(candidate, onSuccess, onFailure);

1 ответ

Решение

Кажется, что я не правильно обрезал локальный поток, из-за чего камера и микрофон выглядели так, как будто они все еще используются.

 if(localstream){
        localstream.getTracks()[0].stop();
        localstream = null;
    }

Я думаю, что слой Samsung заставляет Firefox работать по-другому, поскольку это происходило только на устройствах Samsung из всех устройств, которые я тестировал.

Другие вопросы по тегам