From 6907b4dad4834d4b61bf10dd627451bf62e5bc23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jeremy=20Lain=C3=A9?= Date: Wed, 15 Nov 2017 14:42:26 +0100 Subject: [PATCH] Prefer getReceivers over getRemoteStreams In most places, we prefer to use the modern getReceivers/getSenders instead of the legacy getRemoteStreams/getLocalStreams. However there were two places where this logic was reversed. --- src/WebRTC/SessionDescriptionHandler.js | 7 +++---- src/WebRTC/Simple.js | 6 +++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/WebRTC/SessionDescriptionHandler.js b/src/WebRTC/SessionDescriptionHandler.js index 1e37aa0ea..c18e16109 100644 --- a/src/WebRTC/SessionDescriptionHandler.js +++ b/src/WebRTC/SessionDescriptionHandler.js @@ -273,11 +273,10 @@ SessionDescriptionHandler.prototype = Object.create(SIP.SessionDescriptionHandle throw e; }) .then(function setRemoteDescriptionSuccess() { - if (self.peerConnection.getRemoteStreams) { - self.emit('setRemoteDescription', self.peerConnection.getRemoteStreams()); - } else { - // This should be the default, and we should fall back to getRemoteStreams if this is not supported + if (self.peerConnection.getReceivers) { self.emit('setRemoteDescription', self.peerConnection.getReceivers()); + } else { + self.emit('setRemoteDescription', self.peerConnection.getRemoteStreams()); } self.emit('confirmed', self); }); diff --git a/src/WebRTC/Simple.js b/src/WebRTC/Simple.js index 153cc6567..c586447dc 100644 --- a/src/WebRTC/Simple.js +++ b/src/WebRTC/Simple.js @@ -274,9 +274,7 @@ Simple.prototype.setupRemoteMedia = function() { var pc = this.session.sessionDescriptionHandler.peerConnection; var remoteStream; - if (pc.getRemoteStreams) { - remoteStream = pc.getRemoteStreams()[0]; - } else { + if (pc.getReceivers) { remoteStream = new global.window.MediaStream(); pc.getReceivers().forEach(function(receiver) { var track = receiver.track; @@ -284,6 +282,8 @@ Simple.prototype.setupRemoteMedia = function() { remoteStream.addTrack(track); } }); + } else { + remoteStream = pc.getRemoteStreams()[0]; } if (this.video) { this.options.media.remote.video.srcObject = remoteStream;