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