video settings: prevent stopping preview

Prevent the video setting panel to start/stop the preview if it's already
running. If their is an ongoing call we do not stop the preview when leaving
video settings panel.

Issue: #78359
Change-Id: I4bcf0cee460880e6491b57535348ef3ef46b474b
diff --git a/src/VideoPrefsVC.mm b/src/VideoPrefsVC.mm
index ef01dce..791fac0 100644
--- a/src/VideoPrefsVC.mm
+++ b/src/VideoPrefsVC.mm
@@ -48,6 +48,8 @@
 @property (assign) IBOutlet NSPopUpButton *sizesList;
 @property (assign) IBOutlet NSPopUpButton *ratesList;
 
+@property BOOL shouldHandlePreview;
+
 @end
 
 @implementation VideoPrefsVC
@@ -97,6 +99,8 @@
 
     }
 
+    // check if preview has to be started/stopped by this controller
+    self.shouldHandlePreview = !Video::PreviewManager::instance()->isPreviewing();
 
     [previewView setWantsLayer:YES];
     [previewView setLayer:[CALayer layer]];
@@ -191,12 +195,16 @@
 
 - (void) viewWillAppear
 {
-    Video::PreviewManager::instance()->startPreview();
+    if (self.shouldHandlePreview) {
+        Video::PreviewManager::instance()->startPreview();
+    }
 }
 
 - (void)viewWillDisappear
 {
-    Video::PreviewManager::instance()->stopPreview();
+    if (self.shouldHandlePreview) {
+        Video::PreviewManager::instance()->stopPreview();
+    }
 }
 
 #pragma mark - NSMenuDelegate methods