From 92f6ed3390291b6faaa06c75b8719976be783f1c Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Mon, 26 Sep 2022 16:57:55 +0200 Subject: [PATCH] In window calls, update behavior for conference creation (launch video conference if usable, and video mode based on the current call) --- .../src/components/conference/ConferenceAddModel.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/linphone-app/src/components/conference/ConferenceAddModel.cpp b/linphone-app/src/components/conference/ConferenceAddModel.cpp index 488e3032c..852b1c93d 100644 --- a/linphone-app/src/components/conference/ConferenceAddModel.cpp +++ b/linphone-app/src/components/conference/ConferenceAddModel.cpp @@ -148,12 +148,18 @@ bool ConferenceHelperModel::ConferenceAddModel::removeFromConference (const QStr void ConferenceHelperModel::ConferenceAddModel::update () { shared_ptr conference = mConferenceHelperModel->mCore->getConference(); - bool enablingVideo = CoreManager::getInstance()->getSettingsModel()->getVideoConferenceEnabled();// Video is not yet fully supported by the application in conference + + auto currentCall = CoreManager::getInstance()->getCore()->getCurrentCall(); + bool enablingVideo = false; + if( currentCall ) + enablingVideo = currentCall->getCurrentParams()->videoEnabled(); if(!conference){ auto parameters = mConferenceHelperModel->mCore->createConferenceParams(conference); - parameters->enableVideo(enablingVideo); - if(!enablingVideo) + if(!CoreManager::getInstance()->getSettingsModel()->getVideoConferenceEnabled()) { + parameters->enableVideo(false); parameters->setConferenceFactoryAddress(nullptr);// Do a local conference + }else + parameters->enableVideo(enablingVideo); conference = mConferenceHelperModel->mCore->createConferenceWithParams(parameters); } auto currentCalls = CoreManager::getInstance()->getCore()->getCalls();