summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVal Doroshchuk <valentyn.doroshchuk@qt.io>2020-01-23 13:29:37 +0100
committerVal Doroshchuk <valentyn.doroshchuk@qt.io>2020-01-24 10:57:54 +0100
commit265bfb22e7f0f5333e584f6dd91926b8516e394e (patch)
tree0217033aae5b93c1662568c4f1a0703b81ca9ebf
parent2d54cb4f460f2665da64e551927e6dbf153c68c1 (diff)
AVF: Always lock the capture device when start the camera
If the viewfinder settings are valid, need to lock the capture device to avoid reseting settings to default values. See also a8123e737140719549252806e0e6a1c121359f79 Fixes: QTBUG-81048 Change-Id: I834815ef6c5ef28d8017d04bdb9d5256c02d1de7 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
-rw-r--r--src/plugins/avfoundation/camera/avfcamerasession.mm3
-rw-r--r--src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.mm1
2 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/avfoundation/camera/avfcamerasession.mm b/src/plugins/avfoundation/camera/avfcamerasession.mm
index a3263badc..3c5f8f09a 100644
--- a/src/plugins/avfoundation/camera/avfcamerasession.mm
+++ b/src/plugins/avfoundation/camera/avfcamerasession.mm
@@ -408,7 +408,8 @@ bool AVFCameraSession::applyViewfinderSettings()
vfSettings.setResolution(imageResolution);
}
- return vfControl->applySettings(vfSettings);
+ vfControl->applySettings(vfSettings);
+ return !vfSettings.isNull();
}
return false;
diff --git a/src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.mm b/src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.mm
index 91f3cb7dc..a77d7de03 100644
--- a/src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.mm
+++ b/src/plugins/avfoundation/camera/avfcameraviewfindersettingscontrol.mm
@@ -185,6 +185,7 @@ void AVFCameraViewfinderSettingsControl2::setViewfinderSettings(const QCameraVie
return;
m_settings = settings;
+ applySettings(m_settings);
}
QVideoFrame::PixelFormat AVFCameraViewfinderSettingsControl2::QtPixelFormatFromCVFormat(unsigned avPixelFormat)