diff options
author | Yoann Lopes <yoann.lopes@theqtcompany.com> | 2016-03-11 15:40:57 +0100 |
---|---|---|
committer | Yoann Lopes <yoann.lopes@theqtcompany.com> | 2016-04-13 12:44:15 +0000 |
commit | b5a184ec2da2c17d2a6d03b416130bf300614664 (patch) | |
tree | 5ee0058e891cf22f1770201b5679b28462a7058b /src/plugins/avfoundation/camera | |
parent | c8090b79520bd7834954a743d64c0c5eecf01c23 (diff) | |
download | qtmultimedia-b5a184ec2da2c17d2a6d03b416130bf300614664.tar.gz |
AVFoundation: fix switching to still image capture mode.
It would reset the active format on the capture device. The patch
prevents that.
Change-Id: I97c192c064bf3c6ed4ba1f8d78768196927819a7
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Diffstat (limited to 'src/plugins/avfoundation/camera')
-rw-r--r-- | src/plugins/avfoundation/camera/avfimagecapturecontrol.mm | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/avfoundation/camera/avfimagecapturecontrol.mm b/src/plugins/avfoundation/camera/avfimagecapturecontrol.mm index edaaf8ce3..3e6b6c778 100644 --- a/src/plugins/avfoundation/camera/avfimagecapturecontrol.mm +++ b/src/plugins/avfoundation/camera/avfimagecapturecontrol.mm @@ -34,6 +34,7 @@ #include "avfcameradebug.h" #include "avfimagecapturecontrol.h" #include "avfcameraservice.h" +#include "avfcamerautility.h" #include "avfcameracontrol.h" #include <QtCore/qurl.h> @@ -208,6 +209,8 @@ void AVFImageCaptureControl::updateCaptureConnection() if (![captureSession.outputs containsObject:m_stillImageOutput]) { if ([captureSession canAddOutput:m_stillImageOutput]) { + // Lock the video capture device to make sure the active format is not reset + const AVFConfigurationLock lock(m_session->videoCaptureDevice()); [captureSession addOutput:m_stillImageOutput]; m_videoConnection = [m_stillImageOutput connectionWithMediaType:AVMediaTypeVideo]; updateReadyStatus(); |