summaryrefslogtreecommitdiffstats
path: root/src/plugins/directshow/camera/dscameraservice.cpp
diff options
context:
space:
mode:
authorChristian Stromme <christian.stromme@qt.io>2016-11-21 17:09:44 +0100
committerChristian Stromme <christian.stromme@qt.io>2018-01-22 20:50:25 +0000
commit009a9d4b5d32fa73aca6cabe7d45d6a9bbae0038 (patch)
treed2afd55d9dc3582272719fda9fb28c8c02267242 /src/plugins/directshow/camera/dscameraservice.cpp
parente2bcf5d44e5f0217605c3fdf9b1e7c0b4a3bee73 (diff)
DirectShow: Add the zoom control
Makes is possible to to control the zoom value, if the camera supports it. [ChangeLog][DirectShow] Added camera zoom support. Change-Id: I7a24c7fefb947bdcfc3ff8f755aa761135cc6fde 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.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/plugins/directshow/camera/dscameraservice.cpp b/src/plugins/directshow/camera/dscameraservice.cpp
index b4031c829..a806cabe3 100644
--- a/src/plugins/directshow/camera/dscameraservice.cpp
+++ b/src/plugins/directshow/camera/dscameraservice.cpp
@@ -52,6 +52,7 @@
#include "directshowcameracapturedestinationcontrol.h"
#include "directshowcameracapturebufferformatcontrol.h"
#include "directshowvideoprobecontrol.h"
+#include "directshowcamerazoomcontrol.h"
QT_BEGIN_NAMESPACE
@@ -68,6 +69,7 @@ DSCameraService::DSCameraService(QObject *parent):
, m_captureDestinationControl(new DirectShowCameraCaptureDestinationControl(m_session))
, m_captureBufferFormatControl(new DirectShowCameraCaptureBufferFormatControl)
, m_videoProbeControl(nullptr)
+ , m_zoomControl(new DirectShowCameraZoomControl(m_session))
{
}
@@ -84,6 +86,7 @@ DSCameraService::~DSCameraService()
delete m_captureDestinationControl;
delete m_captureBufferFormatControl;
delete m_videoProbeControl;
+ delete m_zoomControl;
}
QMediaControl* DSCameraService::requestControl(const char *name)
@@ -128,6 +131,9 @@ QMediaControl* DSCameraService::requestControl(const char *name)
return m_videoProbeControl;
}
+ if (qstrcmp(name, QCameraZoomControl_iid) == 0)
+ return m_zoomControl;
+
return 0;
}