From 936287ae83e2f07524f8ec7c01facfd878a78ea0 Mon Sep 17 00:00:00 2001 From: Carlos Santos <4a.santos@gmail.com> Date: Thu, 15 Jun 2023 13:41:50 +0200 Subject: [PATCH] openvidu-components: Fixes #805 Audio and video muted directives were ignored when local storage values were present --- .../services/config/openvidu-angular.config.service.ts | 8 ++++---- .../src/lib/services/device/device.service.ts | 10 ++++++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/config/openvidu-angular.config.service.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/config/openvidu-angular.config.service.ts index bbeadc5a..2b2e3ae6 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/config/openvidu-angular.config.service.ts +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/config/openvidu-angular.config.service.ts @@ -19,10 +19,10 @@ export class OpenViduAngularConfigService { prejoin = >new BehaviorSubject(true); prejoinObs: Observable; - videoMuted = >new BehaviorSubject(false); - videoMutedObs: Observable; - audioMuted = >new BehaviorSubject(false); - audioMutedObs: Observable; + videoMuted = >new BehaviorSubject(undefined); + videoMutedObs: Observable; + audioMuted = >new BehaviorSubject(undefined); + audioMutedObs: Observable; screenshareButton = >new BehaviorSubject(true); screenshareButtonObs: Observable; diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/device/device.service.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/device/device.service.ts index 641906be..f5ed7ac7 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/device/device.service.ts +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/device/device.service.ts @@ -71,8 +71,14 @@ export class DeviceService { this.updateAudioDeviceSelected(); this.updateVideoDeviceSelected(); - this._isVideoMuted = this.storageSrv.isVideoMuted() || this.libSrv.videoMuted.getValue(); - this._isAudioMuted = this.storageSrv.isAudioMuted() || this.libSrv.audioMuted.getValue(); + this._isVideoMuted = + this.libSrv.videoMuted.getValue() === undefined + ? this.storageSrv.isVideoMuted() + : Boolean(this.libSrv.videoMuted.getValue()); + this._isAudioMuted = + this.libSrv.audioMuted.getValue() === undefined + ? this.storageSrv.isAudioMuted() + : Boolean(this.libSrv.audioMuted.getValue()); this.log.d('Media devices', this.cameras, this.microphones); }