Attempts to prevent from failure in case addSource/removeSource notification is received before localDescription is created.

This commit is contained in:
paweldomas 2014-06-18 18:58:00 +02:00
parent f53bb6d8c6
commit 6d6ca2a9e9
2 changed files with 54 additions and 0 deletions

View File

@ -766,6 +766,19 @@ ColibriFocus.prototype.sendSSRCUpdate = function (sdpMediaSsrcs, fromJid, isadd)
ColibriFocus.prototype.addSource = function (elem, fromJid) {
var self = this;
// FIXME: dirty waiting
if (!this.peerconnection.localDescription)
{
console.warn("addSource - localDescription not ready yet")
setTimeout(function()
{
self.addSource(elem, fromJid);
},
200
);
return;
}
this.peerconnection.addSource(elem);
var peerSsrc = this.remotessrc[fromJid];
@ -799,6 +812,19 @@ ColibriFocus.prototype.addSource = function (elem, fromJid) {
ColibriFocus.prototype.removeSource = function (elem, fromJid) {
var self = this;
// FIXME: dirty waiting
if (!self.peerconnection.localDescription)
{
console.warn("removeSource - localDescription not ready yet");
setTimeout(function()
{
self.removeSource(elem, fromJid);
},
200
);
return;
}
this.peerconnection.removeSource(elem);
var peerSsrc = this.remotessrc[fromJid];

View File

@ -23,6 +23,20 @@ SessionBase.prototype.modifySources = function (successCallback) {
SessionBase.prototype.addSource = function (elem, fromJid) {
var self = this;
// FIXME: dirty waiting
if (!this.peerconnection.localDescription)
{
console.warn("addSource - localDescription not ready yet")
setTimeout(function()
{
self.addSource(elem, fromJid);
},
200
);
return;
}
this.peerconnection.addSource(elem);
this.modifySources();
@ -30,6 +44,20 @@ SessionBase.prototype.addSource = function (elem, fromJid) {
SessionBase.prototype.removeSource = function (elem, fromJid) {
var self = this;
// FIXME: dirty waiting
if (!this.peerconnection.localDescription)
{
console.warn("removeSource - localDescription not ready yet")
setTimeout(function()
{
self.removeSource(elem, fromJid);
},
200
);
return;
}
this.peerconnection.removeSource(elem);
this.modifySources();