summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@theqtcompany.com>2016-03-11 15:40:57 +0100
committerYoann Lopes <yoann.lopes@theqtcompany.com>2016-04-13 12:44:15 +0000
commitb5a184ec2da2c17d2a6d03b416130bf300614664 (patch)
tree5ee0058e891cf22f1770201b5679b28462a7058b /src
parentc8090b79520bd7834954a743d64c0c5eecf01c23 (diff)
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')
-rw-r--r--src/plugins/avfoundation/camera/avfimagecapturecontrol.mm3
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();