1
Fork 0
mirror of https://github.com/jech/galene.git synced 2024-11-22 00:25:58 +01:00

Implement abort message in the downstream direction.

This is not quite correct, we're sending a spurious close.
This commit is contained in:
Juliusz Chroboczek 2020-04-25 18:29:44 +02:00
parent 8bfdc2b040
commit 3ea63c394c
2 changed files with 26 additions and 1 deletions

View file

@ -761,7 +761,11 @@ func handleClientMessage(c *client, m clientMessage) error {
switch m.Type {
case "offer":
if !c.permissions.Present {
return userError("not authorised")
c.write(clientMessage{
Type: "abort",
Id: m.Id,
})
return c.error(userError("not authorised"))
}
if m.Offer == nil {
return protocolError("null offer")

View file

@ -316,6 +316,9 @@ function serverConnect() {
case 'close':
gotClose(m.id);
break;
case 'abort':
gotAbort(m.id);
break;
case 'ice':
gotICE(m.id, m.candidate);
break;
@ -408,6 +411,24 @@ function gotClose(id) {
delMedia(id);
}
function gotAbort(id) {
let c = up[id];
if(!c)
throw new Error('unknown up stream in abort');
if(id === localMediaId) {
document.getElementById('presenterbox').checked = false;
setLocalMedia();
} else if(id === shareMediaId) {
document.getElementById('sharebox').checked = false;
setShareMedia();
} else {
console.error('Strange stream in abort');
delMedia(id);
c.pc.close();
delete(up[id]);
}
}
async function gotICE(id, candidate) {
let conn = up[id];
if(!conn)