diff options
author | Ivan Sein <ivan@struktur.de> | 2017-06-06 19:40:18 +0300 |
---|---|---|
committer | Ivan Sein <ivan@struktur.de> | 2017-11-28 13:29:40 +0300 |
commit | 3aed53a88866207bf6cffd68bda6cb296519f51a (patch) | |
tree | d995a22dba7f43516c6758aaf845559ae7e60c8c | |
parent | c267fa512c6927de7553e4f2defcdb17474e7800 (diff) |
Send all datachannel messages through 'status' datachannel.
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
-rw-r--r-- | js/app.js | 4 | ||||
-rw-r--r-- | js/webrtc.js | 50 |
2 files changed, 31 insertions, 23 deletions
@@ -633,11 +633,11 @@ if (guestName.length > 0 && guestName.length <= 20) { $('#guestName').text(guestName); localStorage.setItem("nick", guestName); - OCA.SpreedMe.webrtc.sendDirectlyToAll('nickChanged', guestName); + OCA.SpreedMe.webrtc.sendDirectlyToAll('status', 'nickChanged', guestName); } else if (lastSavedNick) { $('#guestName').text(t('spreed', 'Guest')); localStorage.removeItem("nick"); - OCA.SpreedMe.webrtc.sendDirectlyToAll('nickChanged', ''); + OCA.SpreedMe.webrtc.sendDirectlyToAll('status', 'nickChanged', ''); } } diff --git a/js/webrtc.js b/js/webrtc.js index b641a0712..34e5315a1 100644 --- a/js/webrtc.js +++ b/js/webrtc.js @@ -298,7 +298,7 @@ var spreedPeerConnectionTable = []; if (!currentGuestNick) { currentGuestNick = t('spreed', 'Guest'); } - OCA.SpreedMe.webrtc.sendDirectlyToAll('nickChanged', currentGuestNick); + OCA.SpreedMe.webrtc.sendDirectlyToAll('status', 'nickChanged', currentGuestNick); } } @@ -639,21 +639,29 @@ var spreedPeerConnectionTable = []; OCA.SpreedMe.app.syncAndSetActiveRoom(name); }); + OCA.SpreedMe.webrtc.on('channelOpen', function(channel) { + console.log('%s datachannel is open', channel.label); + }); + OCA.SpreedMe.webrtc.on('channelMessage', function (peer, label, data) { - if(label === 'speaking') { - OCA.SpreedMe.speakers.add(peer.id); - } else if(label === 'stoppedSpeaking') { - OCA.SpreedMe.speakers.remove(peer.id); - } else if(label === 'audioOn') { - OCA.SpreedMe.webrtc.emit('unmute', {id: peer.id, name:'audio'}); - } else if(label === 'audioOff') { - OCA.SpreedMe.webrtc.emit('mute', {id: peer.id, name:'audio'}); - } else if(label === 'videoOn') { - OCA.SpreedMe.webrtc.emit('unmute', {id: peer.id, name:'video'}); - } else if(label === 'videoOff') { - OCA.SpreedMe.webrtc.emit('mute', {id: peer.id, name:'video'}); - } else if (label === 'nickChanged') { - OCA.SpreedMe.webrtc.emit('nick', {id: peer.id, name:data.type}); + if (label === 'status') { + if(data.type === 'speaking') { + OCA.SpreedMe.speakers.add(peer.id); + } else if(data.type === 'stoppedSpeaking') { + OCA.SpreedMe.speakers.remove(peer.id); + } else if(data.type === 'audioOn') { + OCA.SpreedMe.webrtc.emit('unmute', {id: peer.id, name:'audio'}); + } else if(data.type === 'audioOff') { + OCA.SpreedMe.webrtc.emit('mute', {id: peer.id, name:'audio'}); + } else if(data.type === 'videoOn') { + OCA.SpreedMe.webrtc.emit('unmute', {id: peer.id, name:'video'}); + } else if(data.type === 'videoOff') { + OCA.SpreedMe.webrtc.emit('mute', {id: peer.id, name:'video'}); + } else if (data.type === 'nickChanged') { + OCA.SpreedMe.webrtc.emit('nick', {id: peer.id, name:data.payload}); + } + } else { + console.log('Uknown message from %s datachannel', label, data); } }); @@ -703,11 +711,11 @@ var spreedPeerConnectionTable = []; }); OCA.SpreedMe.webrtc.on('speaking', function(){ - OCA.SpreedMe.webrtc.sendDirectlyToAll('speaking'); + OCA.SpreedMe.webrtc.sendDirectlyToAll('status', 'speaking'); $('#localVideoContainer').addClass('speaking'); }); OCA.SpreedMe.webrtc.on('stoppedSpeaking', function(){ - OCA.SpreedMe.webrtc.sendDirectlyToAll('stoppedSpeaking'); + OCA.SpreedMe.webrtc.sendDirectlyToAll('status', 'stoppedSpeaking'); $('#localVideoContainer').removeClass('speaking'); }); @@ -760,16 +768,16 @@ var spreedPeerConnectionTable = []; // Send the audio on and off events via data channel OCA.SpreedMe.webrtc.on('audioOn', function() { - OCA.SpreedMe.webrtc.sendDirectlyToAll('audioOn'); + OCA.SpreedMe.webrtc.sendDirectlyToAll('status', 'audioOn'); }); OCA.SpreedMe.webrtc.on('audioOff', function() { - OCA.SpreedMe.webrtc.sendDirectlyToAll('audioOff'); + OCA.SpreedMe.webrtc.sendDirectlyToAll('status', 'audioOff'); }); OCA.SpreedMe.webrtc.on('videoOn', function() { - OCA.SpreedMe.webrtc.sendDirectlyToAll('videoOn'); + OCA.SpreedMe.webrtc.sendDirectlyToAll('status', 'videoOn'); }); OCA.SpreedMe.webrtc.on('videoOff', function() { - OCA.SpreedMe.webrtc.sendDirectlyToAll('videoOff'); + OCA.SpreedMe.webrtc.sendDirectlyToAll('status', 'videoOff'); }); OCA.SpreedMe.webrtc.on('screenAdded', function(video, peer) { |