From 43ab7e29d454ce97d4ca79266d078607f4cf5f8c Mon Sep 17 00:00:00 2001
From: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
Date: Wed, 21 Sep 2022 12:04:24 -0300
Subject: [PATCH] fix: do not open camera after closing sharing

While in an audio only call, if a sharing is started and then stopped,
the camera was open.

Change-Id: I5af5f7c106c2c53a97ee6b754b0344c7ecb35526
---
 src/app/avadapter.cpp | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/src/app/avadapter.cpp b/src/app/avadapter.cpp
index b16dce86a..8716decc3 100644
--- a/src/app/avadapter.cpp
+++ b/src/app/avadapter.cpp
@@ -96,8 +96,7 @@ AvAdapter::shareEntireScreen(int screenNumber)
                                      rect.width() * screen->devicePixelRatio(),
                                      rect.height() * screen->devicePixelRatio());
     auto callId = lrcInstance_->getCurrentCallId();
-    if (hasCamera())
-        muteCamera_ = !isCapturing();
+    muteCamera_ = !isCapturing();
     lrcInstance_->getCurrentCallModel()
         ->addMedia(callId, resource, lrc::api::CallModel::MediaRequestType::SCREENSHARING);
 }
@@ -113,8 +112,7 @@ AvAdapter::shareAllScreens()
                                                                     arrangementRect.width(),
                                                                     arrangementRect.height());
     auto callId = lrcInstance_->getCurrentCallId();
-    if (hasCamera())
-        muteCamera_ = !isCapturing();
+    muteCamera_ = !isCapturing();
     lrcInstance_->getCurrentCallModel()
         ->addMedia(callId, resource, lrc::api::CallModel::MediaRequestType::SCREENSHARING);
 }
@@ -178,8 +176,7 @@ AvAdapter::shareFile(const QString& filePath)
 {
     auto callId = lrcInstance_->getCurrentCallId();
     if (!callId.isEmpty()) {
-        if (hasCamera())
-            muteCamera_ = !isCapturing();
+        muteCamera_ = !isCapturing();
         lrcInstance_->getCurrentCallModel()
             ->addMedia(callId, filePath, lrc::api::CallModel::MediaRequestType::FILESHARING);
     }
@@ -188,8 +185,7 @@ AvAdapter::shareFile(const QString& filePath)
 void
 AvAdapter::shareScreenArea(unsigned x, unsigned y, unsigned width, unsigned height)
 {
-    if (hasCamera())
-        muteCamera_ = !isCapturing();
+    muteCamera_ = !isCapturing();
 #ifdef Q_OS_LINUX
     // xrectsel will freeze all displays too fast so that the call
     // context menu will not be closed even closed signal is emitted
@@ -224,8 +220,7 @@ AvAdapter::shareWindow(const QString& windowId)
     auto resource = lrcInstance_->getCurrentCallModel()->getDisplay(windowId);
     auto callId = lrcInstance_->getCurrentCallId();
 
-    if (hasCamera())
-        muteCamera_ = !isCapturing();
+    muteCamera_ = !isCapturing();
     lrcInstance_->getCurrentCallModel()
         ->addMedia(callId, resource, lrc::api::CallModel::MediaRequestType::SCREENSHARING);
 }
-- 
GitLab