From 389d66b3ed5e2d798e9fb124064523239c393ad8 Mon Sep 17 00:00:00 2001 From: Yoann Lopes Date: Mon, 7 Apr 2014 14:24:51 +0200 Subject: DirectShow: Refactor camera backend. Almost entire rewrite of the camera backend. It doesn't provide new features but is more stable and behave as it should. - Correctly report camera state and status - Correctly report if the camera is ready to capture - Emit imageExposed() signal - Save captured images in an appropriate directory - Images can be captured even without a viewport - Better error handling Removed the custom QVideoWidgetControl as it doesn't provide anything more than the QVideoWidget's renderer control fallback. Task-number: QTBUG-33782 Change-Id: I9baf6f83e7c69619f20a101921f7865a1c90d5e4 Reviewed-by: Christian Stromme --- src/plugins/directshow/camera/dscameraservice.cpp | 41 ----------------------- 1 file changed, 41 deletions(-) (limited to 'src/plugins/directshow/camera/dscameraservice.cpp') diff --git a/src/plugins/directshow/camera/dscameraservice.cpp b/src/plugins/directshow/camera/dscameraservice.cpp index 9d99c6dd6..b8a9b4aa7 100644 --- a/src/plugins/directshow/camera/dscameraservice.cpp +++ b/src/plugins/directshow/camera/dscameraservice.cpp @@ -42,11 +42,6 @@ #include #include -#if defined(HAVE_WIDGETS) -#include -#include -#endif - #include "dscameraservice.h" #include "dscameracontrol.h" #include "dscamerasession.h" @@ -54,28 +49,16 @@ #include "dsvideodevicecontrol.h" #include "dsimagecapturecontrol.h" -#if defined(HAVE_WIDGETS) -#include "dsvideowidgetcontrol.h" -#endif - QT_BEGIN_NAMESPACE DSCameraService::DSCameraService(QObject *parent): QMediaService(parent) -#if defined(HAVE_WIDGETS) - , m_viewFinderWidget(0) - #endif , m_videoRenderer(0) { m_session = new DSCameraSession(this); - m_control = new DSCameraControl(m_session); - m_videoDevice = new DSVideoDeviceControl(m_session); - m_imageCapture = new DSImageCaptureControl(m_session); - - m_device = QByteArray("default"); } DSCameraService::~DSCameraService() @@ -84,9 +67,6 @@ DSCameraService::~DSCameraService() delete m_videoDevice; delete m_videoRenderer; delete m_imageCapture; -#if defined(HAVE_WIDGETS) - delete m_viewFinderWidget; -#endif delete m_session; } @@ -98,21 +78,8 @@ QMediaControl* DSCameraService::requestControl(const char *name) if (qstrcmp(name, QCameraImageCaptureControl_iid) == 0) return m_imageCapture; -#if defined(HAVE_WIDGETS) - if (qstrcmp(name, QVideoWidgetControl_iid) == 0) { - if (!m_viewFinderWidget && !m_videoRenderer) { - m_viewFinderWidget = new DSVideoWidgetControl(m_session); - return m_viewFinderWidget; - } - } -#endif - if (qstrcmp(name,QVideoRendererControl_iid) == 0) { -#if defined(HAVE_WIDGETS) - if (!m_videoRenderer && !m_viewFinderWidget) { -#else if (!m_videoRenderer) { -#endif m_videoRenderer = new DSVideoRendererControl(m_session, this); return m_videoRenderer; } @@ -131,14 +98,6 @@ void DSCameraService::releaseControl(QMediaControl *control) m_videoRenderer = 0; return; } - -#if defined(HAVE_WIDGETS) - if (control == m_viewFinderWidget) { - delete m_viewFinderWidget; - m_viewFinderWidget = 0; - return; - } -#endif } QT_END_NAMESPACE -- cgit v1.2.3