Сбой 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 из всех устройств, которые я тестировал.