From a577e73a329f0a7b35302dcf8ee1c13a266fc72a Mon Sep 17 00:00:00 2001 From: Simon Eisenmann Date: Thu, 30 Apr 2015 18:17:18 +0200 Subject: [PATCH] Make sure to support renegotiation in conferences. --- static/js/mediastream/peerconference.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/static/js/mediastream/peerconference.js b/static/js/mediastream/peerconference.js index e5ee4e08..a5500274 100644 --- a/static/js/mediastream/peerconference.js +++ b/static/js/mediastream/peerconference.js @@ -40,7 +40,7 @@ define(['jquery', 'underscore', 'mediastream/peercall'], function($, _, PeerCall this.id = id; } - this.usermedia = null; + this.usermedia = webrtc.usermedia; webrtc.e.on("usermedia", _.bind(function(event, um) { console.log("Conference user media changed", um); this.usermedia = um; @@ -100,16 +100,12 @@ define(['jquery', 'underscore', 'mediastream/peercall'], function($, _, PeerCall console.log("Creating PeerConnection", call); call.createPeerConnection(_.bind(function(peerconnection) { // Success call. - call.e.on("negotiationNeeded", _.bind(function(event, extracall) { - this.webrtc.sendOfferWhenNegotiationNeeded(extracall); - }, this)); if (this.usermedia) { this.usermedia.addToPeerConnection(peerconnection); } - /*call.createOffer(_.bind(function(sessionDescription, extracall) { - console.log("Sending offer with sessionDescription", sessionDescription, extracall.id); - this.webrtc.api.sendOffer(extracall.id, sessionDescription); - }, this));*/ + call.e.on("negotiationNeeded", _.bind(function(event, extracall) { + this.webrtc.sendOfferWhenNegotiationNeeded(extracall); + }, this)); }, this), _.bind(function() { // Error call. console.error("Failed to create peer connection for conference call."); @@ -152,6 +148,9 @@ define(['jquery', 'underscore', 'mediastream/peercall'], function($, _, PeerCall if (this.usermedia) { this.usermedia.addToPeerConnection(peerconnection); } + call.e.on("negotiationNeeded", _.bind(function(event, extracall) { + this.webrtc.sendOfferWhenNegotiationNeeded(extracall); + }, this)); call.createAnswer(_.bind(function(sessionDescription, extracall) { console.log("Sending answer", sessionDescription, extracall.id); this.webrtc.api.sendAnswer(extracall.id, sessionDescription);