From 7c787f11dd2348e0fd2cecc231f15a0acde7481a Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 13 Dec 2016 13:56:49 +0100 Subject: DirectShow: Port to new configure system (evr, wmsdk) Replace old legacy defines by QT_CONFIG. Fixes warnings when using MinGW: qtmultimedia/src/multimedia/qtmultimedia-config.h:4:0: warning: "QT_NO_WMSDK" redefined Change-Id: Ifbfc2cea3bf5bfd06d94fd70e6ea4afb6d6fbb4b Reviewed-by: Lars Knoll --- .../directshow/player/directshowmetadatacontrol.cpp | 8 +++++--- .../directshow/player/directshowplayerservice.cpp | 16 +++++++++------- .../directshow/player/directshowvideorenderercontrol.cpp | 10 +++++----- .../directshow/player/directshowvideorenderercontrol.h | 6 ++++-- src/plugins/directshow/player/player.pri | 2 -- 5 files changed, 23 insertions(+), 19 deletions(-) (limited to 'src/plugins/directshow/player') diff --git a/src/plugins/directshow/player/directshowmetadatacontrol.cpp b/src/plugins/directshow/player/directshowmetadatacontrol.cpp index 6a88d76a9..ccd408a8a 100644 --- a/src/plugins/directshow/player/directshowmetadatacontrol.cpp +++ b/src/plugins/directshow/player/directshowmetadatacontrol.cpp @@ -57,7 +57,9 @@ #include "directshowmetadatacontrol.h" #include "directshowplayerservice.h" -#ifndef QT_NO_WMSDK +#include + +#if QT_CONFIG(wmsdk) #include #endif @@ -108,7 +110,7 @@ typedef HRESULT (WINAPI *q_SHCreateItemFromParsingName)(PCWSTR, IBindCtx *, cons static q_SHCreateItemFromParsingName sHCreateItemFromParsingName = 0; #endif -#ifndef QT_NO_WMSDK +#if QT_CONFIG(wmsdk) namespace { @@ -513,7 +515,7 @@ void DirectShowMetaDataControl::updateMetadata(IFilterGraph2 *graph, IBaseFilter goto send_event; #endif -#ifndef QT_NO_WMSDK +#if QT_CONFIG(wmsdk) IWMHeaderInfo *info = com_cast(source, IID_IWMHeaderInfo); if (info) { diff --git a/src/plugins/directshow/player/directshowplayerservice.cpp b/src/plugins/directshow/player/directshowplayerservice.cpp index 1502c6df3..1554d194d 100644 --- a/src/plugins/directshow/player/directshowplayerservice.cpp +++ b/src/plugins/directshow/player/directshowplayerservice.cpp @@ -55,22 +55,24 @@ #include "directshowvideorenderercontrol.h" -#ifdef HAVE_EVR +#if QT_CONFIG(evr) #include "directshowevrvideowindowcontrol.h" #endif -#ifndef QT_NO_WMSDK -#include -#endif - #include "qmediacontent.h" +#include + #include #include #include #include #include +#if QT_CONFIG(wmsdk) +# include +#endif + #ifndef Q_CC_MINGW # include #endif @@ -197,7 +199,7 @@ QMediaControl *DirectShowPlayerService::requestControl(const char *name) if (!m_videoRendererControl && !m_videoWindowControl) { IBaseFilter *filter; -#ifdef HAVE_EVR +#if QT_CONFIG(evr) DirectShowEvrVideoWindowControl *evrControl = new DirectShowEvrVideoWindowControl; if ((filter = evrControl->filter())) m_videoWindowControl = evrControl; @@ -980,7 +982,7 @@ void DirectShowPlayerService::doSeek(QMutexLocker *locker) int DirectShowPlayerService::bufferStatus() const { -#ifndef QT_NO_WMSDK +#if QT_CONFIG(wmsdk) QMutexLocker locker(const_cast(&m_mutex)); if (IWMReaderAdvanced2 *reader = com_cast( diff --git a/src/plugins/directshow/player/directshowvideorenderercontrol.cpp b/src/plugins/directshow/player/directshowvideorenderercontrol.cpp index b86125df9..b726040b3 100644 --- a/src/plugins/directshow/player/directshowvideorenderercontrol.cpp +++ b/src/plugins/directshow/player/directshowvideorenderercontrol.cpp @@ -41,7 +41,7 @@ #include "videosurfacefilter.h" -#ifdef HAVE_EVR +#if QT_CONFIG(evr) #include "evrcustompresenter.h" #endif @@ -52,7 +52,7 @@ DirectShowVideoRendererControl::DirectShowVideoRendererControl(DirectShowEventLo , m_loop(loop) , m_surface(0) , m_filter(0) -#ifdef HAVE_EVR +#if QT_CONFIG(evr) , m_evrPresenter(0) #endif { @@ -60,7 +60,7 @@ DirectShowVideoRendererControl::DirectShowVideoRendererControl(DirectShowEventLo DirectShowVideoRendererControl::~DirectShowVideoRendererControl() { -#ifdef HAVE_EVR +#if QT_CONFIG(evr) if (m_evrPresenter) { m_evrPresenter->setSurface(Q_NULLPTR); m_evrPresenter->Release(); @@ -80,7 +80,7 @@ void DirectShowVideoRendererControl::setSurface(QAbstractVideoSurface *surface) if (m_surface == surface) return; -#ifdef HAVE_EVR +#if QT_CONFIG(evr) if (m_evrPresenter) { m_evrPresenter->setSurface(Q_NULLPTR); m_evrPresenter->Release(); @@ -96,7 +96,7 @@ void DirectShowVideoRendererControl::setSurface(QAbstractVideoSurface *surface) m_surface = surface; if (m_surface) { -#ifdef HAVE_EVR +#if QT_CONFIG(evr) m_filter = com_new(clsid_EnhancedVideoRenderer); m_evrPresenter = new EVRCustomPresenter(m_surface); if (!m_evrPresenter->isValid() || !qt_evr_setCustomPresenter(m_filter, m_evrPresenter)) { diff --git a/src/plugins/directshow/player/directshowvideorenderercontrol.h b/src/plugins/directshow/player/directshowvideorenderercontrol.h index 9d1a23933..1df5d6864 100644 --- a/src/plugins/directshow/player/directshowvideorenderercontrol.h +++ b/src/plugins/directshow/player/directshowvideorenderercontrol.h @@ -44,8 +44,10 @@ #include "qvideorenderercontrol.h" +#include + class DirectShowEventLoop; -#ifdef HAVE_EVR +#if QT_CONFIG(evr) class EVRCustomPresenter; #endif @@ -70,7 +72,7 @@ private: DirectShowEventLoop *m_loop; QAbstractVideoSurface *m_surface; IBaseFilter *m_filter; -#ifdef HAVE_EVR +#if QT_CONFIG(evr) EVRCustomPresenter *m_evrPresenter; #endif }; diff --git a/src/plugins/directshow/player/player.pri b/src/plugins/directshow/player/player.pri index 7391ec7f0..18817b879 100644 --- a/src/plugins/directshow/player/player.pri +++ b/src/plugins/directshow/player/player.pri @@ -30,8 +30,6 @@ SOURCES += \ $$PWD/vmr9videowindowcontrol.cpp qtConfig(evr) { - DEFINES += HAVE_EVR - include($$PWD/../../common/evr.pri) HEADERS += \ -- cgit v1.2.3 From 95de9e6154d75688e81a3b79007dfe6c56d3b65b Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 21 Nov 2016 10:44:47 +0100 Subject: Use QT_CONFIG macro to check for features And remove many custom defines. Change-Id: I658cc8430d1d99ed3c0aafe03a77adce76621a29 Reviewed-by: Yoann Lopes --- src/plugins/directshow/player/directshowmetadatacontrol.cpp | 6 +++--- src/plugins/directshow/player/directshowvideorenderercontrol.cpp | 1 + src/plugins/directshow/player/directshowvideorenderercontrol.h | 1 + src/plugins/directshow/player/player.pri | 7 +------ 4 files changed, 6 insertions(+), 9 deletions(-) (limited to 'src/plugins/directshow/player') diff --git a/src/plugins/directshow/player/directshowmetadatacontrol.cpp b/src/plugins/directshow/player/directshowmetadatacontrol.cpp index ccd408a8a..45d3a958b 100644 --- a/src/plugins/directshow/player/directshowmetadatacontrol.cpp +++ b/src/plugins/directshow/player/directshowmetadatacontrol.cpp @@ -63,7 +63,7 @@ #include #endif -#ifndef QT_NO_SHELLITEM +#if QT_CONFIG(wshellitem) #include #include #include @@ -292,7 +292,7 @@ static QVariant getValue(IWMHeaderInfo *header, const wchar_t *key) } #endif -#ifndef QT_NO_SHELLITEM +#if QT_CONFIG(wshellitem) static QVariant convertValue(const PROPVARIANT& var) { QVariant value; @@ -392,7 +392,7 @@ void DirectShowMetaDataControl::updateMetadata(IFilterGraph2 *graph, IBaseFilter { m_metadata.clear(); -#ifndef QT_NO_SHELLITEM +#if QT_CONFIG(wshellitem) if (!sHCreateItemFromParsingName) { QSystemLibrary lib(QStringLiteral("shell32")); sHCreateItemFromParsingName = (q_SHCreateItemFromParsingName)(lib.resolve("SHCreateItemFromParsingName")); diff --git a/src/plugins/directshow/player/directshowvideorenderercontrol.cpp b/src/plugins/directshow/player/directshowvideorenderercontrol.cpp index b726040b3..40f77e899 100644 --- a/src/plugins/directshow/player/directshowvideorenderercontrol.cpp +++ b/src/plugins/directshow/player/directshowvideorenderercontrol.cpp @@ -37,6 +37,7 @@ ** ****************************************************************************/ +#include #include "directshowvideorenderercontrol.h" #include "videosurfacefilter.h" diff --git a/src/plugins/directshow/player/directshowvideorenderercontrol.h b/src/plugins/directshow/player/directshowvideorenderercontrol.h index 1df5d6864..36c5b2248 100644 --- a/src/plugins/directshow/player/directshowvideorenderercontrol.h +++ b/src/plugins/directshow/player/directshowvideorenderercontrol.h @@ -40,6 +40,7 @@ #ifndef DIRECTSHOWVIDEORENDERERCONTROL_H #define DIRECTSHOWVIDEORENDERERCONTROL_H +#include #include #include "qvideorenderercontrol.h" diff --git a/src/plugins/directshow/player/player.pri b/src/plugins/directshow/player/player.pri index 18817b879..59ac5a330 100644 --- a/src/plugins/directshow/player/player.pri +++ b/src/plugins/directshow/player/player.pri @@ -5,8 +5,6 @@ LIBS += -lgdi32 qtHaveModule(widgets): QT += widgets -DEFINES += QMEDIA_DIRECTSHOW_PLAYER - HEADERS += \ $$PWD/directshowioreader.h \ $$PWD/directshowiosource.h \ @@ -39,8 +37,5 @@ qtConfig(evr) { $$PWD/directshowevrvideowindowcontrol.cpp } -qtConfig(wshellitem) { +qtConfig(wshellitem): \ QT += core-private -} else { - DEFINES += QT_NO_SHELLITEM -} -- cgit v1.2.3