Browse Source

Merge branch 'release-0.24'

pull/230/head v0.24.7
Simon Eisenmann 10 years ago
parent
commit
e40ca05d8b
  1. 17
      README.md
  2. 8
      debian/changelog
  3. 48
      static/js/controllers/uicontroller.js
  4. 4
      static/js/mediastream/peerscreenshare.js
  5. 10
      static/js/services/playsound.js

17
README.md

@ -130,6 +130,23 @@ open source TURN server implementation. Make sure to use a recent @@ -130,6 +130,23 @@ open source TURN server implementation. Make sure to use a recent
version (We recommend 3.2). Versions below 2.5 are not supported.
## Setup Screensharing
### Chrome
Chrome should work out of the box.
### Firefox
As of Firefox >= 36 you must append the domain being used to the allowed domains
to access your screen. You do this by navigating to `about:config`, search for
'media.getusermedia.screensharing.allowed_domains', and append the domain
to the list of strings. You can edit the field simply by double clicking on it.
Ensure that you follow the syntax rules of the field. If you are using an `ip:port`
url, simply append `ip` to the list. Also ensure that you are using `https`,
otherwise permission will be denied to share your screen. You do not need to restart
or reload in order for it to take affect.
## Contributing
1. "Fork" develop branch.

8
debian/changelog vendored

@ -1,3 +1,11 @@ @@ -1,3 +1,11 @@
spreed-webrtc-server (0.24.7) trusty; urgency=medium
* Fixed a problem where Chrome did not apply screen sharing constraints correctly and screen sharing was using a low resolution.
* Fixed a problem where sounds used as interval could not be disabled.
* Added window.showCiphers helper for testing WebRTC stats API.
-- Simon Eisenmann <simon@struktur.de> Thu, 13 Aug 2015 16:01:41 +0200
spreed-webrtc-server (0.24.6) trusty; urgency=medium
* Make travis run 'make test'.

48
static/js/controllers/uicontroller.js

@ -52,6 +52,52 @@ define(['jquery', 'underscore', 'bigscreen', 'moment', 'sjcl', 'modernizr', 'web @@ -52,6 +52,52 @@ define(['jquery', 'underscore', 'bigscreen', 'moment', 'sjcl', 'modernizr', 'web
}
}, 100, true));
// Helper to test WebRTC stats api.
$window.showCiphers = function() {
var prettyPrint = function(obj) {
return JSON.stringify(obj, null, 2)
};
var processStatsReport = function(report) {
var channels = {};
for (var i in report) {
if (report.hasOwnProperty(i)) {
var entry = report[i];
var channel = null;
if (entry.type === "googCandidatePair") {
// Chrome candidate pair.
if (!entry.googActiveConnection) {
continue
}
channel = report[entry.googChannelId];
} else {
continue;
}
if (channel && !channels[channel.id]) {
channels[channel.id] = true;
console.info("Connected channel", prettyPrint(channel));
var localCertificate = report[channel.localCertificateId];
var remoteCertificate = report[channel.remoteCertificateId];
console.info("Local certificate", prettyPrint(localCertificate));
console.info("Remote certificate", prettyPrint(remoteCertificate));
}
}
}
};
mediaStream.webrtc.callForEachCall(function(c) {
if (c.peerconnection && c.peerconnection.pc) {
c.peerconnection.pc.getStats(null, function(report) {
processStatsReport(report);
}, function(error) {
console.log("Failed to retrieve stats report", error);
});
}
});
};
// Load default sounds.
playSound.initialize({
urls: ['sounds/sprite1.ogg', 'sounds/sprite1.mp3'],
@ -631,7 +677,7 @@ define(['jquery', 'underscore', 'bigscreen', 'moment', 'sjcl', 'modernizr', 'web @@ -631,7 +677,7 @@ define(['jquery', 'underscore', 'bigscreen', 'moment', 'sjcl', 'modernizr', 'web
});
mediaStream.webrtc.e.on("bye", function(event, reason, from) {
console.log("received bye", pickupTimeout, reason);
//console.log("received bye", pickupTimeout, reason);
switch (reason) {
case "busy":
console.log("User is busy", reason, from);

4
static/js/mediastream/peerscreenshare.js

@ -79,7 +79,9 @@ define(['jquery', 'underscore', 'mediastream/peercall', 'mediastream/tokens'], f @@ -79,7 +79,9 @@ define(['jquery', 'underscore', 'mediastream/peercall', 'mediastream/tokens'], f
// be provided in options.
var mandatoryVideoConstraints = $.extend(true, {}, {
maxWidth: screenWidth,
maxHeight: screenHeight
maxHeight: screenHeight,
minWidth: screenWidth,
minHeight: screenHeight
}, webrtc.settings.screensharing.mediaConstraints.video.mandatory, options);
var mediaConstraints = $.extend(true, {}, webrtc.settings.screensharing.mediaConstraints, {
audio: false

10
static/js/services/playsound.js

@ -119,14 +119,12 @@ define(['underscore', 'Howler', 'require'], function(_, Howler, require) { @@ -119,14 +119,12 @@ define(['underscore', 'Howler', 'require'], function(_, Howler, require) {
return null;
}
var id = this.getId(name);
if (interval) {
if (this.intervals.hasOwnProperty(id)) {
return this.intervals[id];
if (this.intervals.hasOwnProperty(name)) {
return this.intervals[name];
}
var i = this.intervals[id] = new SoundInterval(this, id, interval);
var i = this.intervals[name] = new SoundInterval(this, name, interval);
if (autostart) {
i.start();
}
@ -134,6 +132,8 @@ define(['underscore', 'Howler', 'require'], function(_, Howler, require) { @@ -134,6 +132,8 @@ define(['underscore', 'Howler', 'require'], function(_, Howler, require) {
} else {
var id = this.getId(name);
if (!this.shouldPlaySound(name) || !this.shouldPlaySound(id)) {
return;
}

Loading…
Cancel
Save