Don't play an engaged tone if we hang up locally.

pull/10/head
David Baker 2014-09-09 17:37:50 +01:00
parent a75f8686ba
commit 253c327252
3 changed files with 18 additions and 5 deletions

View File

@ -118,7 +118,7 @@ angular.module('MatrixWebClientController', ['matrixService', 'mPresence', 'even
angular.element('#ringAudio')[0].pause();
angular.element('#ringbackAudio')[0].pause();
angular.element('#callendAudio')[0].play();
} else if (newVal == 'ended' && oldVal == 'invite_sent') {
} else if (newVal == 'ended' && oldVal == 'invite_sent' && $rootScope.currentCall.hangupParty == 'remote') {
angular.element('#ringAudio')[0].pause();
angular.element('#ringbackAudio')[0].pause();
angular.element('#busyAudio')[0].play();

View File

@ -58,12 +58,13 @@ angular.module('MatrixCall', [])
this.didConnect = false;
}
MatrixCall.prototype.placeCall = function() {
MatrixCall.prototype.placeCall = function(config) {
self = this;
matrixPhoneService.callPlaced(this);
navigator.getUserMedia({audio: true, video: false}, function(s) { self.gotUserMediaForInvite(s); }, function(e) { self.getUserMediaFailed(e); });
self.state = 'wait_local_media';
navigator.getUserMedia({audio: config.audio, video: config.video}, function(s) { self.gotUserMediaForInvite(s); }, function(e) { self.getUserMediaFailed(e); });
this.state = 'wait_local_media';
this.direction = 'outbound';
this.config = config;
};
MatrixCall.prototype.initWithInvite = function(msg) {
@ -105,6 +106,8 @@ angular.module('MatrixCall', [])
this.stopAllMedia();
this.peerConn.close();
this.hangupParty = 'local';
var content = {
version: 0,
call_id: this.call_id,
@ -285,6 +288,7 @@ angular.module('MatrixCall', [])
self = this;
$rootScope.$apply(function() {
self.state = 'ended';
this.hangupParty = 'remote';
self.stopAllMedia();
this.peerConn.close();
self.onHangup();
@ -300,6 +304,7 @@ angular.module('MatrixCall', [])
MatrixCall.prototype.onHangupReceived = function() {
this.state = 'ended';
this.hangupParty = 'remote';
this.stopAllMedia();
this.peerConn.close();
this.onHangup();

View File

@ -756,7 +756,15 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput'])
var call = new MatrixCall($scope.room_id);
call.onError = $rootScope.onCallError;
call.onHangup = $rootScope.onCallHangup;
call.placeCall();
call.placeCall({audio: true, video: false});
$rootScope.currentCall = call;
};
$scope.startVideoCall = function() {
var call = new MatrixCall($scope.room_id);
call.onError = $rootScope.onCallError;
call.onHangup = $rootScope.onCallHangup;
call.placeCall({audio: true, video: true});
$rootScope.currentCall = call;
};