few fixes for errors in glare conditions. still seem to end up with no audio if both calls are placed at the same time.

This commit is contained in:
David Baker 2014-09-11 19:16:57 +01:00
parent 1e05e30472
commit a059ca6915
2 changed files with 4 additions and 5 deletions

View file

@ -147,7 +147,7 @@ angular.module('MatrixWebClientController', ['matrixService', 'mPresence', 'even
});
$rootScope.$on(matrixPhoneService.REPLACED_CALL_EVENT, function(ngEvent, oldCall, newCall) {
console.log("call ID "+oldCall+" has been replaced by call ID "+newCall+"!");
console.log("call ID "+oldCall.call_id+" has been replaced by call ID "+newCall.call_id+"!");
newCall.onError = $scope.onCallError;
newCall.onHangup = $scope.onCallHangup;
$rootScope.currentCall = newCall;

View file

@ -167,9 +167,8 @@ angular.module('MatrixCall', [])
},
};
this.peerConn.createAnswer(function(d) { self.createdAnswer(d); }, function(e) {}, constraints);
$rootScope.$apply(function() {
self.state = 'create_answer';
});
// This can't be in an apply() because it's called by a predecessor call under glare conditions :(
self.state = 'create_answer';
};
MatrixCall.prototype.gotLocalIceCandidate = function(event) {
@ -326,7 +325,7 @@ angular.module('MatrixCall', [])
this.state = 'ended';
this.hangupParty = 'remote';
this.stopAllMedia();
this.peerConn.close();
if (this.peerConn.signalingState != 'closed') this.peerConn.close();
if (this.onHangup) this.onHangup(this);
};