diff options
Diffstat (limited to 'src/plugins/directshow')
-rw-r--r-- | src/plugins/directshow/camera/camera.pri | 4 | ||||
-rw-r--r-- | src/plugins/directshow/directshow.pro | 4 | ||||
-rw-r--r-- | src/plugins/directshow/dsserviceplugin.cpp | 20 | ||||
-rw-r--r-- | src/plugins/directshow/dsserviceplugin.h | 3 | ||||
-rw-r--r-- | src/plugins/directshow/player/directshowmetadatacontrol.cpp | 14 | ||||
-rw-r--r-- | src/plugins/directshow/player/directshowplayerservice.cpp | 16 | ||||
-rw-r--r-- | src/plugins/directshow/player/directshowvideorenderercontrol.cpp | 11 | ||||
-rw-r--r-- | src/plugins/directshow/player/directshowvideorenderercontrol.h | 7 | ||||
-rw-r--r-- | src/plugins/directshow/player/player.pri | 9 |
9 files changed, 35 insertions, 53 deletions
diff --git a/src/plugins/directshow/camera/camera.pri b/src/plugins/directshow/camera/camera.pri index fb7fbd3f5..d8ee59aa9 100644 --- a/src/plugins/directshow/camera/camera.pri +++ b/src/plugins/directshow/camera/camera.pri @@ -1,9 +1,5 @@ INCLUDEPATH += $$PWD -DEFINES += QMEDIA_DIRECTSHOW_CAMERA - -mingw: DEFINES += QT_NO_WMSDK - win32: DEFINES += _CRT_SECURE_NO_WARNINGS HEADERS += \ diff --git a/src/plugins/directshow/directshow.pro b/src/plugins/directshow/directshow.pro index cbf82afb3..35301474f 100644 --- a/src/plugins/directshow/directshow.pro +++ b/src/plugins/directshow/directshow.pro @@ -8,13 +8,11 @@ win32:!qtHaveModule(opengl)|qtConfig(dynamicgl) { HEADERS += dsserviceplugin.h SOURCES += dsserviceplugin.cpp -!qtConfig(wmsdk): DEFINES += QT_NO_WMSDK - mingw: DEFINES += NO_DSHOW_STRSAFE include(common/common.pri) include(helpers/helpers.pri) -!qtConfig(wmf-backend): include(player/player.pri) +qtConfig(directshow-player): include(player/player.pri) include(camera/camera.pri) OTHER_FILES += \ diff --git a/src/plugins/directshow/dsserviceplugin.cpp b/src/plugins/directshow/dsserviceplugin.cpp index 4b84841bd..9060bac7c 100644 --- a/src/plugins/directshow/dsserviceplugin.cpp +++ b/src/plugins/directshow/dsserviceplugin.cpp @@ -37,6 +37,7 @@ ** ****************************************************************************/ +#include <QtMultimedia/private/qtmultimediaglobal_p.h> #include <dshow.h> #include <QtCore/qstring.h> @@ -46,21 +47,16 @@ #include "directshowglobal.h" #include "dsserviceplugin.h" -#ifdef QMEDIA_DIRECTSHOW_CAMERA #include "dsvideodevicecontrol.h" #include <dshow.h> #include "dscameraservice.h" -#endif -#ifdef QMEDIA_DIRECTSHOW_PLAYER +#if QT_CONFIG(directshow_player) #include "directshowplayerservice.h" #endif #include <qmediaserviceproviderplugin.h> - -#ifdef QMEDIA_DIRECTSHOW_CAMERA - extern const CLSID CLSID_VideoInputDeviceCategory; @@ -76,7 +72,6 @@ extern const CLSID CLSID_VideoInputDeviceCategory; #endif // Q_CC_MSVC #include <windows.h> #include <ocidl.h> -#endif QT_BEGIN_NAMESPACE Q_LOGGING_CATEGORY(qtDirectShowPlugin, "qt.multimedia.plugins.directshow") @@ -99,13 +94,11 @@ void releaseRefCount() QMediaService* DSServicePlugin::create(QString const& key) { -#ifdef QMEDIA_DIRECTSHOW_CAMERA if (key == QLatin1String(Q_MEDIASERVICE_CAMERA)) { addRefCount(); return new DSCameraService; } -#endif -#ifdef QMEDIA_DIRECTSHOW_PLAYER +#if QT_CONFIG(directshow_player) if (key == QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER)) { addRefCount(); return new DirectShowPlayerService; @@ -132,14 +125,11 @@ QMediaServiceProviderHint::Features DSServicePlugin::supportedFeatures( QByteArray DSServicePlugin::defaultDevice(const QByteArray &service) const { -#ifdef QMEDIA_DIRECTSHOW_CAMERA if (service == Q_MEDIASERVICE_CAMERA) { const QList<DSVideoDeviceInfo> &devs = DSVideoDeviceControl::availableDevices(); if (!devs.isEmpty()) return devs.first().first; } -#endif - return QByteArray(); } @@ -147,20 +137,17 @@ QList<QByteArray> DSServicePlugin::devices(const QByteArray &service) const { QList<QByteArray> result; -#ifdef QMEDIA_DIRECTSHOW_CAMERA if (service == Q_MEDIASERVICE_CAMERA) { const QList<DSVideoDeviceInfo> &devs = DSVideoDeviceControl::availableDevices(); for (const DSVideoDeviceInfo &info : devs) result.append(info.first); } -#endif return result; } QString DSServicePlugin::deviceDescription(const QByteArray &service, const QByteArray &device) { -#ifdef QMEDIA_DIRECTSHOW_CAMERA if (service == Q_MEDIASERVICE_CAMERA) { const QList<DSVideoDeviceInfo> &devs = DSVideoDeviceControl::availableDevices(); for (const DSVideoDeviceInfo &info : devs) { @@ -168,6 +155,5 @@ QString DSServicePlugin::deviceDescription(const QByteArray &service, const QByt return info.second; } } -#endif return QString(); } diff --git a/src/plugins/directshow/dsserviceplugin.h b/src/plugins/directshow/dsserviceplugin.h index 8470fc3b5..b7ac6a86e 100644 --- a/src/plugins/directshow/dsserviceplugin.h +++ b/src/plugins/directshow/dsserviceplugin.h @@ -40,6 +40,7 @@ #ifndef DSSERVICEPLUGIN_H #define DSSERVICEPLUGIN_H +#include <QtMultimedia/private/qtmultimediaglobal_p.h> #include "qmediaserviceproviderplugin.h" QT_USE_NAMESPACE @@ -56,7 +57,7 @@ class DSServicePlugin Q_INTERFACES(QMediaServiceFeaturesInterface) // The player service provided by the WMF-plugin should preferably be used. // DirectShow should then only provide the camera (see QTBUG-29172, QTBUG-29175). -#ifdef QMEDIA_DIRECTSHOW_PLAYER +#if QT_CONFIG(directshow_player) Q_PLUGIN_METADATA(IID "org.qt-project.qt.mediaserviceproviderfactory/5.0" FILE "directshow.json") #else Q_PLUGIN_METADATA(IID "org.qt-project.qt.mediaserviceproviderfactory/5.0" FILE "directshow_camera.json") diff --git a/src/plugins/directshow/player/directshowmetadatacontrol.cpp b/src/plugins/directshow/player/directshowmetadatacontrol.cpp index 6a88d76a9..45d3a958b 100644 --- a/src/plugins/directshow/player/directshowmetadatacontrol.cpp +++ b/src/plugins/directshow/player/directshowmetadatacontrol.cpp @@ -57,11 +57,13 @@ #include "directshowmetadatacontrol.h" #include "directshowplayerservice.h" -#ifndef QT_NO_WMSDK +#include <QtMultimedia/private/qtmultimedia-config_p.h> + +#if QT_CONFIG(wmsdk) #include <wmsdk.h> #endif -#ifndef QT_NO_SHELLITEM +#if QT_CONFIG(wshellitem) #include <ShlObj.h> #include <propkeydef.h> #include <private/qsystemlibrary_p.h> @@ -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 { @@ -290,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; @@ -390,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")); @@ -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<IWMHeaderInfo>(source, IID_IWMHeaderInfo); if (info) { diff --git a/src/plugins/directshow/player/directshowplayerservice.cpp b/src/plugins/directshow/player/directshowplayerservice.cpp index 0b88496af..5fbb6ef05 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 <wmsdk.h> -#endif - #include "qmediacontent.h" +#include <QtMultimedia/private/qtmultimedia-config_p.h> + #include <QtCore/qcoreapplication.h> #include <QtCore/qdatetime.h> #include <QtCore/qdir.h> #include <QtCore/qthread.h> #include <QtCore/qvarlengtharray.h> +#if QT_CONFIG(wmsdk) +# include <wmsdk.h> +#endif + #ifndef Q_CC_MINGW # include <comdef.h> #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<QMutex *>(&m_mutex)); if (IWMReaderAdvanced2 *reader = com_cast<IWMReaderAdvanced2>( diff --git a/src/plugins/directshow/player/directshowvideorenderercontrol.cpp b/src/plugins/directshow/player/directshowvideorenderercontrol.cpp index b86125df9..40f77e899 100644 --- a/src/plugins/directshow/player/directshowvideorenderercontrol.cpp +++ b/src/plugins/directshow/player/directshowvideorenderercontrol.cpp @@ -37,11 +37,12 @@ ** ****************************************************************************/ +#include <QtMultimedia/private/qtmultimediaglobal_p.h> #include "directshowvideorenderercontrol.h" #include "videosurfacefilter.h" -#ifdef HAVE_EVR +#if QT_CONFIG(evr) #include "evrcustompresenter.h" #endif @@ -52,7 +53,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 +61,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 +81,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 +97,7 @@ void DirectShowVideoRendererControl::setSurface(QAbstractVideoSurface *surface) m_surface = surface; if (m_surface) { -#ifdef HAVE_EVR +#if QT_CONFIG(evr) m_filter = com_new<IBaseFilter>(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..36c5b2248 100644 --- a/src/plugins/directshow/player/directshowvideorenderercontrol.h +++ b/src/plugins/directshow/player/directshowvideorenderercontrol.h @@ -40,12 +40,15 @@ #ifndef DIRECTSHOWVIDEORENDERERCONTROL_H #define DIRECTSHOWVIDEORENDERERCONTROL_H +#include <QtMultimedia/private/qtmultimediaglobal_p.h> #include <dshow.h> #include "qvideorenderercontrol.h" +#include <QtMultimedia/private/qtmultimedia-config_p.h> + class DirectShowEventLoop; -#ifdef HAVE_EVR +#if QT_CONFIG(evr) class EVRCustomPresenter; #endif @@ -70,7 +73,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..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 \ @@ -30,8 +28,6 @@ SOURCES += \ $$PWD/vmr9videowindowcontrol.cpp qtConfig(evr) { - DEFINES += HAVE_EVR - include($$PWD/../../common/evr.pri) HEADERS += \ @@ -41,8 +37,5 @@ qtConfig(evr) { $$PWD/directshowevrvideowindowcontrol.cpp } -qtConfig(wshellitem) { +qtConfig(wshellitem): \ QT += core-private -} else { - DEFINES += QT_NO_SHELLITEM -} |