diff --git a/src/webrtc/call.ts b/src/webrtc/call.ts index 8ee5d7bb6df..e0f9ae2ff7b 100644 --- a/src/webrtc/call.ts +++ b/src/webrtc/call.ts @@ -1142,7 +1142,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); }