From d53a6505c558e69d4b7cd777db12f7062737ef79 Mon Sep 17 00:00:00 2001 From: Simon Eisenmann Date: Mon, 27 Apr 2015 18:57:51 +0200 Subject: [PATCH] Added more references to tickets and problems with firefox. --- static/js/mediastream/peerconnection.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/static/js/mediastream/peerconnection.js b/static/js/mediastream/peerconnection.js index 79800f86..177094a0 100644 --- a/static/js/mediastream/peerconnection.js +++ b/static/js/mediastream/peerconnection.js @@ -72,10 +72,16 @@ define(['jquery', 'underscore', 'webrtc.adapter'], function($, _) { // for example https://bugzilla.mozilla.org/show_bug.cgi?id=998546. pc.onaddstream = _.bind(this.onRemoteStreamAdded, this); pc.onremovestream = _.bind(this.onRemoteStreamRemoved, this); + // NOTE(longsleep): Firefox 38 has support for onaddtrack. Unfortunately Chrome does + // not support this and thus both are not compatible. For the time being this means + // that renegotiation does not work between Firefox and Chrome. Even worse, current + // spec says that the event should really be named ontrack. if (window.webrtcDetectedBrowser === "firefox") { - // NOTE(longsleep): onnegotiationneeded is not supported by Firefox. We trigger it + // NOTE(longsleep): onnegotiationneeded is not supported by Firefox < 38. + // Also firefox does not care about streams, but has the newer API for tracks + // implemented. This does not work together with Chrome, so we trigger negotiation // manually when a stream is added or removed. - // https://bugzilla.mozilla.org/show_bug.cgi?id=840728 + // https://bugzilla.mozilla.org/show_bug.cgi?id=1017888 this.negotiationNeeded = _.bind(function() { if (this.currentcall.initiate) { // Trigger onNegotiationNeeded once for Firefox.