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>
This commit is contained in:
committed by
Qt by Nokia
parent
bc7d964a05
commit
c97f5f8c2e
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user