master
bel 2020-05-10 13:51:21 -06:00
parent 92e94e40fe
commit f14a7b5f04
1 changed files with 14 additions and 20 deletions

View File

@ -142,29 +142,23 @@ class Entropy {
}
static gotMessageFromServer(message) {
if(!Entropy.peer.peer) Entropy.start(false);
if(!Entropy.peer.peer) Entropy.start(false);
var signal = JSON.parse(message.data);
var signal = JSON.parse(message.data);
// Ignore messages from ourself
if(signal.uuid == Config.getUUID()) return;
// Ignore messages from ourself
if(signal.uuid == Config.getUUID()) return;
if(signal.sdp) {
Entropy.peer.peer.setRemoteDescription(new RTCSessionDescription(signal.sdp)).then(function() {
// Only create answers in response to offers
if(signal.sdp.type == 'offer') {
Entropy.peer.peer.createAnswer().then(Entropy.createdDescription).catch(View.error);
}
}).catch(View.error);
} else if(signal.ice) {
Entropy.peer.peer.addIceCandidate(new RTCIceCandidate(signal.ice)).catch(View.error);
}
}
static gotIceCandidate(event) {
if(event.candidate != null) {
Server.server.send(JSON.stringify({'ice': event.candidate, 'uuid': Config.getUUID()}));
}
if(signal.sdp) {
Entropy.peer.peer.setRemoteDescription(new RTCSessionDescription(signal.sdp)).then(function() {
// Only create answers in response to offers
if(signal.sdp.type == 'offer') {
Entropy.peer.peer.createAnswer().then(Entropy.createdDescription).catch(View.error);
}
}).catch(View.error);
} else if(signal.ice) {
Entropy.peer.peer.addIceCandidate(new RTCIceCandidate(signal.ice)).catch(View.error);
}
}
static createdDescription(description) {