summaryrefslogtreecommitdiffstats
path: root/src/plugins/directshow/camera/dscameraservice.cpp
diff options
context:
space:
mode:
authorChristian Stromme <christian.stromme@qt.io>2016-11-22 18:53:49 +0100
committerChristian Stromme <christian.stromme@qt.io>2018-01-22 20:50:17 +0000
commitc20d3fa8c42d3ea0a088f208b55dfc66b58f6674 (patch)
tree974dfeafe5fde1aa3f9bbaa77193cf0e1baadd9b /src/plugins/directshow/camera/dscameraservice.cpp
parent469a18793a11b45ffa6f7ed3f873bddbae8e900d (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.cpp12
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;
}