diff options
author | Joachim Bauch <bauch@struktur.de> | 2017-01-20 14:27:13 +0300 |
---|---|---|
committer | Ivan Sein <ivan@struktur.de> | 2017-02-16 18:37:24 +0300 |
commit | 4058c399fb0f1b993d0a60bfd49af693802d4481 (patch) | |
tree | dd140d9272b391413275d784542733f80ea20d25 /js/simplewebrtc.js | |
parent | 6d78c28fe5755090c2cfac5b0d479e1786edb37a (diff) |
Implement first draft of screensharing support.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
Diffstat (limited to 'js/simplewebrtc.js')
-rw-r--r-- | js/simplewebrtc.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/js/simplewebrtc.js b/js/simplewebrtc.js index 690d9c72e..36d4cd2e4 100644 --- a/js/simplewebrtc.js +++ b/js/simplewebrtc.js @@ -17739,6 +17739,9 @@ mLine.iceTransport.addRemoteCandidate({}); } }); + } else if (message.type === 'unshareScreen') { + this.parent.emit('unshareScreen', {id: message.from}); + this.end(); } }; @@ -18317,7 +18320,11 @@ if (this.getLocalScreen()) { this.webrtc.stopScreenShare(); } + // Notify peers were sending to. this.webrtc.peers.forEach(function (peer) { + if (peer.type === 'screen' && peer.sharemyscreen) { + peer.send('unshareScreen'); + } if (peer.broadcaster) { peer.end(); } @@ -18478,6 +18485,17 @@ } }); + this.on('unshareScreen', function(message) { + // End peers we were receiving the screensharing stream from. + var peers = self.getPeers(message.from, 'screen'); + peers.forEach(function(peer) { + if (!peer.sharemyscreen) { + peer.end(); + } + }); + }); + + // log events in debug mode if (this.config.debug) { this.on('*', function (event, val1, val2) { |