diff --git a/src/webrtc/call.ts b/src/webrtc/call.ts index c1161f333a2..c23133ea493 100644 --- a/src/webrtc/call.ts +++ b/src/webrtc/call.ts @@ -1262,7 +1262,7 @@ export class MatrixCall extends TypedEventEmitter } /** - * Set feed's internal audio mute state - * @param muted is the feed's audio muted? - */ - public setAudioMuted(muted: boolean): void { - this.audioMuted = muted; - this.speakingVolumeSamples.fill(-Infinity); - this.emit(CallFeedEvent.MuteStateChanged, this.audioMuted, this.videoMuted); - } - - /** - * Set feed's internal video mute state + * Set one or both of feed's internal audio and video video mute state + * Either value may be null to leave it as-is * @param muted is the feed's video muted? */ - public setVideoMuted(muted: boolean): void { - this.videoMuted = muted; + public setAudioVideoMuted(audioMuted: boolean, videoMuted: boolean): void { + if (audioMuted !== null) { + if (this.audioMuted !== audioMuted) { + this.speakingVolumeSamples.fill(-Infinity); + } + this.audioMuted = audioMuted; + } + if (videoMuted !== null) this.videoMuted = videoMuted; this.emit(CallFeedEvent.MuteStateChanged, this.audioMuted, this.videoMuted); } diff --git a/src/webrtc/groupCall.ts b/src/webrtc/groupCall.ts index 2fb7f1792ed..a494447a0fc 100644 --- a/src/webrtc/groupCall.ts +++ b/src/webrtc/groupCall.ts @@ -460,7 +460,7 @@ export class GroupCall extends TypedEventEmitter