mirror of
https://mau.dev/maunium/synapse.git
synced 2024-12-14 10:43:50 +01:00
Don't play an engaged tone if we hang up locally.
This commit is contained in:
parent
a75f8686ba
commit
253c327252
3 changed files with 18 additions and 5 deletions
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue