summaryrefslogtreecommitdiffstats
path: root/src/plugins/wmf
diff options
context:
space:
mode:
authorMichael Goddard <michael.goddard@nokia.com>2012-01-05 17:22:19 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-06 05:26:01 +0100
commitc97f5f8c2e91c1b76d42583efaf232487d490060 (patch)
tree533f1142282ebce38bbf7bd4356b4341530f30be /src/plugins/wmf
parentbc7d964a053a3a37a0b286ee17ee15c9ef747c3e (diff)
Properly handle the case where QtWidgets is not available.
It does use a config test for now, just to make it clearer. The Mac backend currently requires widgets, but most of the others should work without it (just not supporting QVideoWidget/WindowControl). The QVideoDeviceControl interface was modified to remove the QIcon usage - it was never implemented. Unfortunately even the QML examples need widgets for the wrapper application, and will need to be ported to QtGui based wrapper. Change-Id: I8a55ad5cf09ab51749510bf16f49de0bd3f0bcdb Reviewed-by: Ling Hu <ling.hu@nokia.com>
Diffstat (limited to 'src/plugins/wmf')
-rw-r--r--src/plugins/wmf/player/mfplayerservice.cpp8
-rw-r--r--src/plugins/wmf/player/mfplayerservice.h6
-rw-r--r--src/plugins/wmf/player/player.pri2
-rw-r--r--src/plugins/wmf/wmf.pro6
4 files changed, 13 insertions, 9 deletions
diff --git a/src/plugins/wmf/player/mfplayerservice.cpp b/src/plugins/wmf/player/mfplayerservice.cpp
index 62964663a..0e1f02014 100644
--- a/src/plugins/wmf/player/mfplayerservice.cpp
+++ b/src/plugins/wmf/player/mfplayerservice.cpp
@@ -95,7 +95,7 @@ QMediaControl* MFPlayerService::requestControl(const char *name)
} else if (qstrcmp(name, QMetaDataReaderControl_iid) == 0) {
return m_metaDataControl;
} else if (qstrcmp(name, QVideoRendererControl_iid) == 0) {
-#ifndef Q_WS_SIMULATOR
+#if defined(HAVE_WIDGETS) && !defined(Q_WS_SIMULATOR)
if (!m_videoRendererControl && !m_videoWindowControl) {
#else
if (!m_videoRendererControl) {
@@ -103,7 +103,7 @@ QMediaControl* MFPlayerService::requestControl(const char *name)
m_videoRendererControl = new MFVideoRendererControl;
return m_videoRendererControl;
}
-#ifndef Q_WS_SIMULATOR
+#if defined(HAVE_WIDGETS) && !defined(Q_WS_SIMULATOR)
} else if (qstrcmp(name, QVideoWindowControl_iid) == 0) {
if (!m_videoRendererControl && !m_videoWindowControl) {
m_videoWindowControl = new Evr9VideoWindowControl;
@@ -124,7 +124,7 @@ void MFPlayerService::releaseControl(QMediaControl *control)
m_videoRendererControl->setSurface(0);
delete m_videoRendererControl;
m_videoRendererControl = 0;
-#ifndef Q_WS_SIMULATOR
+#if defined(HAVE_WIDGETS) && !defined(Q_WS_SIMULATOR)
} else if (control == m_videoWindowControl) {
delete m_videoWindowControl;
m_videoWindowControl = 0;
@@ -142,7 +142,7 @@ MFVideoRendererControl* MFPlayerService::videoRendererControl() const
return m_videoRendererControl;
}
-#ifndef Q_WS_SIMULATOR
+#if defined(HAVE_WIDGETS) && !defined(Q_WS_SIMULATOR)
Evr9VideoWindowControl* MFPlayerService::videoWindowControl() const
{
return m_videoWindowControl;
diff --git a/src/plugins/wmf/player/mfplayerservice.h b/src/plugins/wmf/player/mfplayerservice.h
index a1eb5048e..fd98c0222 100644
--- a/src/plugins/wmf/player/mfplayerservice.h
+++ b/src/plugins/wmf/player/mfplayerservice.h
@@ -56,7 +56,7 @@ QT_END_NAMESPACE
QT_USE_NAMESPACE
-#ifndef Q_WS_SIMULATOR
+#if defined(HAVE_WIDGETS) && !defined(Q_WS_SIMULATOR)
class Evr9VideoWindowControl;
#endif
class MFAudioEndpointControl;
@@ -77,7 +77,7 @@ public:
MFAudioEndpointControl* audioEndpointControl() const;
MFVideoRendererControl* videoRendererControl() const;
-#ifndef Q_WS_SIMULATOR
+#if defined(HAVE_WIDGETS) && !defined(Q_WS_SIMULATOR)
Evr9VideoWindowControl* videoWindowControl() const;
#endif
MFMetaDataControl* metaDataControl() const;
@@ -86,7 +86,7 @@ private:
MFPlayerSession *m_session;
MFVideoRendererControl *m_videoRendererControl;
MFAudioEndpointControl *m_audioEndpointControl;
-#ifndef Q_WS_SIMULATOR
+#if defined(HAVE_WIDGETS) && !defined(Q_WS_SIMULATOR)
Evr9VideoWindowControl *m_videoWindowControl;
#endif
MFPlayerControl *m_player;
diff --git a/src/plugins/wmf/player/player.pri b/src/plugins/wmf/player/player.pri
index 58375ba44..07142130c 100644
--- a/src/plugins/wmf/player/player.pri
+++ b/src/plugins/wmf/player/player.pri
@@ -24,7 +24,7 @@ SOURCES += \
$$PWD/mfaudioendpointcontrol.cpp \
$$PWD/mfmetadatacontrol.cpp
-!simulator {
+contains(config_test_widgets, yes):!simulator {
HEADERS += $$PWD/evr9videowindowcontrol.h
SOURCES += $$PWD/evr9videowindowcontrol.cpp
}
diff --git a/src/plugins/wmf/wmf.pro b/src/plugins/wmf/wmf.pro
index d0b4ec347..7c2e0abe9 100644
--- a/src/plugins/wmf/wmf.pro
+++ b/src/plugins/wmf/wmf.pro
@@ -1,7 +1,11 @@
load(qt_module)
TARGET = wmfengine
-QT += multimedia-private network multimediawidgets-private
+QT += multimedia-private network
+contains(config_test_widgets, yes) {
+ QT += multimediawidgets-private
+ DEFINES += HAVE_WIDGETS
+}
PLUGIN_TYPE=mediaservice
load(qt_plugin)