Commit e3fd9a96 authored by Juliusz Chroboczek's avatar Juliusz Chroboczek

Improve error handling during negotiation.

parent d5c7a13a
......@@ -620,17 +620,30 @@ ServerConnection.prototype.gotOffer = async function(id, labels, offer, renegoti
if(sc.ondownstream)
sc.ondownstream.call(sc, c);
await c.pc.setRemoteDescription(offer);
await c.flushRemoteIceCandidates()
let answer = await c.pc.createAnswer();
if(!answer)
throw new Error("Didn't create answer");
await c.pc.setLocalDescription(answer);
this.send({
type: 'answer',
id: id,
answer: answer,
});
try {
await c.pc.setRemoteDescription(offer);
await c.flushRemoteIceCandidates();
let answer = await c.pc.createAnswer();
if(!answer)
throw new Error("Didn't create answer");
await c.pc.setLocalDescription(answer);
this.send({
type: 'answer',
id: id,
answer: answer,
});
} catch(e) {
try {
if(c.onerror)
c.onerror.call(c, e);
} finally {
c.abort();
}
return;
}
c.localDescriptionSent = true;
c.flushLocalIceCandidates();
if(c.onnegotiationcompleted)
......@@ -667,8 +680,12 @@ ServerConnection.prototype.gotAnswer = async function(id, answer) {
try {
await c.pc.setRemoteDescription(answer);
} catch(e) {
if(c.onerror)
c.onerror.call(c, e);
try {
if(c.onerror)
c.onerror.call(c, e);
} finally {
c.close();
}
return;
}
await c.flushRemoteIceCandidates();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment