Browse Source

Merge branch 'release-0.24'

pull/256/head v0.24.10
Simon Eisenmann 10 years ago
parent
commit
616fe61f94
  1. 9
      debian/changelog
  2. 2
      debian/gbp.conf
  3. 6
      static/js/mediastream/usermedia.js
  4. 9
      static/js/mediastream/utils.js
  5. 2
      static/js/services/mediasources.js

9
debian/changelog vendored

@ -1,3 +1,12 @@ @@ -1,3 +1,12 @@
spreed-webrtc-server (0.24.10) trusty; urgency=medium
* Avoid to break when there is no mediaDevices.
* Added compatibility fix for Chrome 38 which stopped working when called from Chrome 46+ (Munge remote offer UDP/TLS/RTP/SAVPF to RTP/SAVPF).
* Only stop user media automatically, when all tracks have ended.
* Stop waiting on video early if first video track is enabled but muted.
-- Simon Eisenmann <simon@struktur.de> Fri, 15 Jan 2016 12:57:13 +0100
spreed-webrtc-server (0.24.9) trusty; urgency=medium
* Added support for Firefox 43 API changes.

2
debian/gbp.conf vendored

@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
[DEFAULT]
debian-tag = v%(version)s

6
static/js/mediastream/usermedia.js

@ -366,8 +366,10 @@ define(['jquery', 'underscore', 'audiocontext', 'mediastream/dummystream', 'webr @@ -366,8 +366,10 @@ define(['jquery', 'underscore', 'audiocontext', 'mediastream/dummystream', 'webr
if (stream) {
// Catch events when streams end.
var trackCount = 0;
var onended = _.bind(function(event) {
if (this.started) {
trackCount--;
if (this.started && trackCount <= 0) {
console.log("Stopping user media as a stream has ended.", event);
this.stop();
}
@ -375,10 +377,12 @@ define(['jquery', 'underscore', 'audiocontext', 'mediastream/dummystream', 'webr @@ -375,10 +377,12 @@ define(['jquery', 'underscore', 'audiocontext', 'mediastream/dummystream', 'webr
if (stream.getTracks) {
_.each(stream.getTracks(), function(t) {
t.onended = onended;
trackCount++;
});
} else {
// Legacy api.
stream.onended = onended;
trackCount++;
}
// Set new stream.
this.localStream = stream;

9
static/js/mediastream/utils.js

@ -439,6 +439,15 @@ define([], function() { @@ -439,6 +439,15 @@ define([], function() {
return sdp;
},
fixRemote: function(sdp) {
if (window.webrtcDetectedBrowser === "chrome" && window.webrtcDetectedVersion <= 38) {
// Chrome 46 started to send m lines as UDP/TLS/RTP/SAVPF
// https://bugs.chromium.org/p/webrtc/issues/detail?id=2796
// https://groups.google.com/forum/#!searchin/discuss-webrtc/psa$20savpf/discuss-webrtc/ZOjSMolpP40/gF5_1Tk8xRAJ
// https://groups.google.com/forum/#!topic/mozilla.dev.media/vNCjLFgc97c
// This change breaks very old versions of WebRTC. So we change it back locally
// for Chrome <= 38 which makes things work fine again.
sdp = sdp.replace(/UDP\/TLS\/RTP\/SAVPF/g, "RTP/SAVPF")
}
return sdp;
}
}

2
static/js/services/mediasources.js

@ -27,7 +27,7 @@ define(['jquery', 'underscore', 'webrtc.adapter'], function($, _, adapter) { @@ -27,7 +27,7 @@ define(['jquery', 'underscore', 'webrtc.adapter'], function($, _, adapter) {
var MediaSources = function() {
// For now enable media sources only in Chrome until other browsers have some use for it.
this.supported = $window.navigator.mediaDevices.enumerateDevices && adapter.webrtcDetectedBrowser === "chrome";
this.supported = $window.navigator.mediaDevices && $window.navigator.mediaDevices.enumerateDevices && adapter.webrtcDetectedBrowser === "chrome";
this.audio = [];
this.video = [];

Loading…
Cancel
Save