diff options
Diffstat (limited to 'src/plugins/avfoundation/camera/avfcameraservice.mm')
-rw-r--r-- | src/plugins/avfoundation/camera/avfcameraservice.mm | 6 |
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); |