Я использую Kurento Utils для соединения WebRTC с Kurento Media Server (версия 5.x)
Внутри библиотеки kurento-utils-js во время инициализации коды упрощения показаны ниже:
if (!this.pc) {
this.pc = new RTCPeerConnection(server, options);
}
var ended = false;
pc.onicecandidate = function(e) {
// candidate exists in e.candidate
if (e.candidate) {
ended = false;
return;
}
if (ended) {
return;
}
var offerSdp = pc.localDescription.sdp;
console.log('ICE negotiation completed');
self.onsdpoffer(offerSdp, self);
ended = true;
};
У меня вопрос: похоже, он ждет, пока onicecandidate
передаст "нулевое" значение, которое означает, что процесс завершен и, таким образом, можно продолжить создание предложения SDP, но я не смог найти такое поведение в спецификациях WebRTC?
Мой следующий вопрос: как еще мы можем узнать, что процесс поиска ледяных кандидатов закончился?
Один из моих компьютеров в моем офисе не смог получить код console.log('ICE negotiation completed');
, поскольку не было передано нулевое значение.