diff --git a/Classes/Swift/Voip/ViewModels/ConferenceViewModel.swift b/Classes/Swift/Voip/ViewModels/ConferenceViewModel.swift index 197b71663..b74d60939 100644 --- a/Classes/Swift/Voip/ViewModels/ConferenceViewModel.swift +++ b/Classes/Swift/Voip/ViewModels/ConferenceViewModel.swift @@ -254,9 +254,7 @@ class ConferenceViewModel { if let conference = conference.value, let call = conference.call, let params = try?call.core?.createCallParams(call: call) { params.videoEnabled = layout != .AudioOnly params.conferenceVideoLayout = layout == ConferenceDisplayMode.Grid ? .Grid : .ActiveSpeaker - if (sendVideo) { - params.videoDirection = .SendRecv - } + params.videoDirection = sendVideo ? .SendRecv : .RecvOnly try?call.update(params: params) conferenceDisplayMode.value = layout diff --git a/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift b/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift index 2f32d6615..e83760788 100644 --- a/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift +++ b/Classes/Swift/Voip/ViewModels/ControlsViewModel.swift @@ -147,7 +147,7 @@ class ControlsViewModel { if let currentCall = core.currentCall { if (currentCall.conference != nil) { if (ConferenceViewModel.shared.conferenceDisplayMode.value == .AudioOnly) { - ConferenceViewModel.shared.changeLayout(layout: .ActiveSpeaker, sendVideo:true) + ConferenceViewModel.shared.changeLayout(layout: .ActiveSpeaker, sendVideo:Core.get().videoActivationPolicy?.automaticallyInitiate == true) } else if let params = try?core.createCallParams(call: currentCall) { isVideoUpdateInProgress.value = true params.videoDirection = params.videoDirection == MediaDirection.RecvOnly ? MediaDirection.SendRecv : MediaDirection.RecvOnly