From 129b06ba77e451c08778badcd54cbaf193d195bc Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Wed, 29 Jul 2015 13:00:03 +0300 Subject: winrt: Add camera video probe controls [ChangLog][multimedia][winrt] The WinRT backend now supports QVideoProbes on camera objects. Task-number: QTBUG-46228 Change-Id: I7850c5ec6f61e5824064d4be8afc8a0b55d05806 Reviewed-by: Andrew Knight --- src/plugins/winrt/qwinrtcameraservice.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/plugins/winrt/qwinrtcameraservice.cpp') diff --git a/src/plugins/winrt/qwinrtcameraservice.cpp b/src/plugins/winrt/qwinrtcameraservice.cpp index a4d292242..977acdcab 100644 --- a/src/plugins/winrt/qwinrtcameraservice.cpp +++ b/src/plugins/winrt/qwinrtcameraservice.cpp @@ -37,6 +37,8 @@ #include "qwinrtcameraservice.h" #include "qwinrtcameracontrol.h" #include "qwinrtcamerainfocontrol.h" +#include "qwinrtvideoprobecontrol.h" +#include "qwinrtcameravideorenderercontrol.h" #include #include @@ -47,6 +49,7 @@ #include #include #include +#include QT_BEGIN_NAMESPACE @@ -98,12 +101,17 @@ QMediaControl *QWinRTCameraService::requestControl(const char *name) if (qstrcmp(name, QCameraLocksControl_iid) == 0) return d->cameraControl->cameraLocksControl(); + if (qstrcmp(name, QMediaVideoProbeControl_iid) == 0) + return new QWinRTVideoProbeControl(qobject_cast(d->cameraControl->videoRenderer())); + return nullptr; } void QWinRTCameraService::releaseControl(QMediaControl *control) { - Q_UNUSED(control); + Q_ASSERT(control); + if (QWinRTVideoProbeControl *videoProbe = qobject_cast(control)) + videoProbe->deleteLater(); } QT_END_NAMESPACE -- cgit v1.2.3