From a7ff8322abd59d0e656ee3183b8f667d40c3654a Mon Sep 17 00:00:00 2001 From: lazorfuzz <leontosy@gmail.com> Date: Thu, 31 May 2018 19:57:19 -0700 Subject: [PATCH] Add shout/whisper methods to API --- src/liowebrtc.js | 11 ++++++----- src/webrtc.js | 8 ++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/liowebrtc.js b/src/liowebrtc.js index 95a6322..bb9c244 100644 --- a/src/liowebrtc.js +++ b/src/liowebrtc.js @@ -19,6 +19,7 @@ class LioWebRTC extends WildEmitter { remoteVideosEl: '', enableDataChannels: true, autoRequestMedia: false, + dataOnly: false, autoRemoveVideos: true, adjustPeerVolume: true, peerVolumeWhenSpeaking: 0.25, @@ -120,8 +121,8 @@ class LioWebRTC extends WildEmitter { opts.debug = false; this.webrtc = new WebRTC(opts); - // attach a few methods from underlying lib to simple. - ['mute', 'unmute', 'pauseVideo', 'resumeVideo', 'pause', 'resume', 'sendToAll', 'sendDirectlyToAll', 'getPeers'].forEach((method) => { + // attach a few methods from underlying lib to liowebrtc. + ['mute', 'unmute', 'pauseVideo', 'resumeVideo', 'pause', 'resume', 'sendToAll', 'sendDirectlyToAll', 'getPeers', 'shout', 'whisper'].forEach((method) => { self[method] = self.webrtc[method].bind(self.webrtc); }); @@ -239,7 +240,7 @@ class LioWebRTC extends WildEmitter { if (data.type === 'volume') { self.emit('remoteVolumeChange', data.payload, peer); } else { - self.emit(data.type, data.payload, peer); + self.emit('receivedPeerData', data.type, data.payload, peer); } }); @@ -320,8 +321,8 @@ class LioWebRTC extends WildEmitter { type, enableDataChannels: self.config.enableDataChannels && type !== 'screen', receiveMedia: { - offerToReceiveAudio: type !== 'screen' && self.config.receiveMedia.offerToReceiveAudio ? 1 : 0, - offerToReceiveVideo: self.config.receiveMedia.offerToReceiveVideo + offerToReceiveAudio: type !== 'screen' && !self.config.dataOnly && self.config.receiveMedia.offerToReceiveAudio ? 1 : 0, + offerToReceiveVideo: !self.config.dataOnly && self.config.receiveMedia.offerToReceiveVideo } }); self.emit('createdPeer', peer); diff --git a/src/webrtc.js b/src/webrtc.js index 125ddd7..c34d4e8 100644 --- a/src/webrtc.js +++ b/src/webrtc.js @@ -140,6 +140,14 @@ class WebRTC { } }); } + + shout(messageLabel, payload) { + sendDirectlyToAll(messageLabel, payload, 'liowebrtc'); + } + + whisper(peer, messageLabel, payload) { + peer.sendDirectly(messageLabel, payload); + } } util.inherits(WebRTC, localMedia); -- GitLab