diff --git a/rtcpeerconnection.bundle.js b/rtcpeerconnection.bundle.js index 521551dbbe3a4761a6abf4d38059967463438326..dad052c1233665b28f441b6fd4e7190781a2177c 100644 --- a/rtcpeerconnection.bundle.js +++ b/rtcpeerconnection.bundle.js @@ -3679,7 +3679,7 @@ function PeerConnection(config, constraints) { // this attemps to strip out candidates with an already known foundation // and type -- i.e. those which are gathered via the same TURN server // but different transports (TURN udp, tcp and tls respectively) - if (constraints && constraints.optional && detectedBrowser === 'chrome') { + if (constraints && constraints.optional && window.chrome) { constraints.optional.forEach(function (constraint) { if (constraint.andyetFasterICE) { self.eliminateDuplicateCandidates = constraint.andyetFasterICE; @@ -3710,7 +3710,7 @@ function PeerConnection(config, constraints) { // EXPERIMENTAL FLAG, might get removed without notice // working around https://bugzilla.mozilla.org/show_bug.cgi?id=1087551 // pass in a timeout for this - if (detectedBrowser === 'firefox') { + if (window.navigator.mozGetUserMedia) { if (constraints && constraints.optional) { this.wtFirefox = 0; constraints.optional.forEach(function (constraint) { @@ -3734,7 +3734,14 @@ function PeerConnection(config, constraints) { }; } - this.getRemoteStreams = this.pc.getRemoteStreams.bind(this.pc); + if (typeof this.pc.getRemoteStreams === 'function') { + this.getRemoteStreams = this.pc.getRemoteStreams.bind(this.pc); + } else { + this.getRemoteStreams = function () { + return []; + }; + } + this.addStream = this.pc.addStream.bind(this.pc); this.removeStream = function (stream) {