summaryrefslogtreecommitdiffstats
path: root/src/plugins/avfoundation/camera/avfcameraservice.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/avfoundation/camera/avfcameraservice.mm')
-rw-r--r--src/plugins/avfoundation/camera/avfcameraservice.mm6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/plugins/avfoundation/camera/avfcameraservice.mm b/src/plugins/avfoundation/camera/avfcameraservice.mm
index 627ecf67c..79bf73910 100644
--- a/src/plugins/avfoundation/camera/avfcameraservice.mm
+++ b/src/plugins/avfoundation/camera/avfcameraservice.mm
@@ -61,6 +61,7 @@
#include "avfaudioencodersettingscontrol.h"
#include "avfvideoencodersettingscontrol.h"
#include "avfmediacontainercontrol.h"
+#include "avfcapturedestinationcontrol.h"
#include "avfcamerawindowcontrol.h"
#ifdef Q_OS_IOS
@@ -111,6 +112,7 @@ AVFCameraService::AVFCameraService(QObject *parent):
m_audioEncoderSettingsControl = new AVFAudioEncoderSettingsControl(this);
m_videoEncoderSettingsControl = new AVFVideoEncoderSettingsControl(this);
m_mediaContainerControl = new AVFMediaContainerControl(this);
+ m_captureDestinationControl = new AVFCaptureDestinationControl;
}
AVFCameraService::~AVFCameraService()
@@ -151,6 +153,7 @@ AVFCameraService::~AVFCameraService()
delete m_audioEncoderSettingsControl;
delete m_videoEncoderSettingsControl;
delete m_mediaContainerControl;
+ delete m_captureDestinationControl;
delete m_session;
}
@@ -218,6 +221,9 @@ QMediaControl *AVFCameraService::requestControl(const char *name)
return m_cameraZoomControl;
#endif
+ if (qstrcmp(name, QCameraCaptureDestinationControl_iid) == 0)
+ return m_captureDestinationControl;
+
if (!m_captureWindowControl) {
if (qstrcmp(name, QVideoWindowControl_iid) == 0) {
m_captureWindowControl = new AVFCameraWindowControl(this);