diff --git a/src/components/views/voip/CallView.js b/src/components/views/voip/CallView.js index cc5289e7f1..4651e53551 100644 --- a/src/components/views/voip/CallView.js +++ b/src/components/views/voip/CallView.js @@ -79,8 +79,7 @@ module.exports = React.createClass({ if (call) { call.setLocalVideoElement(this.getVideoView().getLocalVideoElement()); call.setRemoteVideoElement(this.getVideoView().getRemoteVideoElement()); - // give a separate element for audio stream playback - both for voice calls - // and for the voice stream of screen captures + // always use a separate element for audio stream playback call.setRemoteAudioElement(this.getVideoView().getRemoteAudioElement()); } if (call && call.type === "video" && call.call_state !== "ended" && call.call_state !== "ringing") { diff --git a/src/components/views/voip/VideoView.js b/src/components/views/voip/VideoView.js index 46c5b354f8..487fd9f6ac 100644 --- a/src/components/views/voip/VideoView.js +++ b/src/components/views/voip/VideoView.js @@ -50,7 +50,10 @@ module.exports = React.createClass({ }, getRemoteAudioElement: function() { - return this.refs.remoteAudio; + // this needs to be somewhere at the top of the DOM which + // always exists to avoid audio interruptions. + // Might as well just use DOM. + return document.getElementById("remoteAudio"); }, getLocalVideoElement: function() { @@ -106,7 +109,6 @@ module.exports = React.createClass({