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:
parent
8bfdc2b040
commit
3ea63c394c
2 changed files with 26 additions and 1 deletions
|
@ -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")
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue