0
0
Fork 1
mirror of https://mau.dev/maunium/synapse.git synced 2024-11-17 23:42:33 +01:00

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) { $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.onError = $scope.onCallError;
newCall.onHangup = $scope.onCallHangup; newCall.onHangup = $scope.onCallHangup;
$rootScope.currentCall = newCall; $rootScope.currentCall = newCall;

View file

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