diff options
author | David Baker <dbkr@matrix.org> | 2014-09-11 19:16:57 +0100 |
---|---|---|
committer | David Baker <dbkr@matrix.org> | 2014-09-11 19:16:57 +0100 |
commit | a059ca6915d05f5a5561965d9738cfaf3e20d4a1 (patch) | |
tree | e4b830ec98a489e18c121365d280530942274ef3 /webclient/components | |
parent | Put back the line that adds the stream to the invite, otherwise caller->calle... (diff) | |
download | synapse-a059ca6915d05f5a5561965d9738cfaf3e20d4a1.tar.xz |
few fixes for errors in glare conditions. still seem to end up with no audio if both calls are placed at the same time.
Diffstat (limited to 'webclient/components')
-rw-r--r-- | webclient/components/matrix/matrix-call.js | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/webclient/components/matrix/matrix-call.js b/webclient/components/matrix/matrix-call.js index 2191bdab39..7407c6fd7c 100644 --- a/webclient/components/matrix/matrix-call.js +++ b/webclient/components/matrix/matrix-call.js @@ -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); }; |