diff options
author | Christian Stromme <christian.stromme@qt.io> | 2016-11-22 18:53:49 +0100 |
---|---|---|
committer | Christian Stromme <christian.stromme@qt.io> | 2018-01-22 20:50:17 +0000 |
commit | c20d3fa8c42d3ea0a088f208b55dfc66b58f6674 (patch) | |
tree | 974dfeafe5fde1aa3f9bbaa77193cf0e1baadd9b /src/plugins/directshow/camera/dscameraservice.cpp | |
parent | 469a18793a11b45ffa6f7ed3f873bddbae8e900d (diff) |
DirectShow: Add camera image capture controls
Adds controls for setting the capture destination and buffer format.
[ChangeLog][DirectShow] Added support for setting the capture
destination and format.
Change-Id: I7420ea5dce9bf1bef391b6ba3a1537bedfbcf52d
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Diffstat (limited to 'src/plugins/directshow/camera/dscameraservice.cpp')
-rw-r--r-- | src/plugins/directshow/camera/dscameraservice.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/directshow/camera/dscameraservice.cpp b/src/plugins/directshow/camera/dscameraservice.cpp index c11111be1..71c0f685a 100644 --- a/src/plugins/directshow/camera/dscameraservice.cpp +++ b/src/plugins/directshow/camera/dscameraservice.cpp @@ -49,6 +49,8 @@ #include "dscameraviewfindersettingscontrol.h" #include "dscameraimageprocessingcontrol.h" #include "directshowcameraexposurecontrol.h" +#include "directshowcameracapturedestinationcontrol.h" +#include "directshowcameracapturebufferformatcontrol.h" QT_BEGIN_NAMESPACE @@ -62,6 +64,8 @@ DSCameraService::DSCameraService(QObject *parent): , m_viewfinderSettings(new DSCameraViewfinderSettingsControl(m_session)) , m_imageProcessingControl(new DSCameraImageProcessingControl(m_session)) , m_exposureControl(new DirectShowCameraExposureControl(m_session)) + , m_captureDestinationControl(new DirectShowCameraCaptureDestinationControl(m_session)) + , m_captureBufferFormatControl(new DirectShowCameraCaptureBufferFormatControl) { } @@ -75,6 +79,8 @@ DSCameraService::~DSCameraService() delete m_imageCapture; delete m_session; delete m_exposureControl; + delete m_captureDestinationControl; + delete m_captureBufferFormatControl; } QMediaControl* DSCameraService::requestControl(const char *name) @@ -104,6 +110,12 @@ QMediaControl* DSCameraService::requestControl(const char *name) if (qstrcmp(name, QCameraExposureControl_iid) == 0) return m_exposureControl; + if (qstrcmp(name, QCameraCaptureDestinationControl_iid) == 0) + return m_captureDestinationControl; + + if (qstrcmp(name, QCameraCaptureBufferFormatControl_iid) == 0) + return m_captureBufferFormatControl; + return 0; } |