summaryrefslogtreecommitdiff
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-28 11:50:29 +0000
commit1e50366ea7cd8909f049f161a41afbd152a94579 (patch)
tree611eb4747a3d4d2a13ef221cf430777944dcf1e6
parent0144393242078421217f1967e64f00e3e32b898a (diff)
downloadqtmultimedia-1e50366ea7cd8909f049f161a41afbd152a94579.tar.gz
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> (cherry picked from commit 265bfb22e7f0f5333e584f6dd91926b8516e394e)
-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 8e3436d39..148c4a6e0 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 26112f559..0054a8d01 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)