|
|
|
@ -72,10 +72,16 @@ define(['jquery', 'underscore', 'webrtc.adapter'], function($, _) {
@@ -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.
|
|
|
|
|