diff --git a/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift b/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift index 0a6dea9bc..691e4461d 100644 --- a/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift +++ b/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift @@ -85,6 +85,9 @@ class ControlsViewModel { UIDevice.current.isProximityMonitoringEnabled = enabled == true } updateUI() + ConferenceViewModel.shared.conferenceDisplayMode.readCurrentAndObserve { _ in + self.updateVideoAvailable() + } } private func setAudioRoutes(_ call:Call,_ state:Call.State) { @@ -189,8 +192,12 @@ class ControlsViewModel { private func updateVideoAvailable() { let currentCall = core.currentCall - isVideoAvailable.value = (core.videoCaptureEnabled || core.videoPreviewEnabled) && - ((currentCall != nil && currentCall?.mediaInProgress() != true) || core.conference?.isIn == true) + isVideoAvailable.value = + (core.videoCaptureEnabled || core.videoPreviewEnabled) && + currentCall?.state != .Paused && + currentCall?.state != .PausedByRemote && + ((currentCall != nil && currentCall?.mediaInProgress() != true) || (core.conference?.isIn == true)) && + (ConferenceViewModel.shared.conferenceExists.value != true || ConferenceViewModel.shared.conferenceDisplayMode.value != .AudioOnly) } private func updateVideoEnabled() {