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
@@ -46,7 +46,7 @@
|
||||
#include "directshowmetadatacontrol.h"
|
||||
#include "directshowplayercontrol.h"
|
||||
#include "directshowvideorenderercontrol.h"
|
||||
#ifndef Q_WS_SIMULATOR
|
||||
#if defined(HAVE_WIDGETS) && !defined(Q_WS_SIMULATOR)
|
||||
#include "vmr9videowindowcontrol.h"
|
||||
#endif
|
||||
|
||||
@@ -83,7 +83,7 @@ DirectShowPlayerService::DirectShowPlayerService(QObject *parent)
|
||||
, m_playerControl(0)
|
||||
, m_metaDataControl(0)
|
||||
, m_videoRendererControl(0)
|
||||
#ifndef Q_WS_SIMULATOR
|
||||
#if defined(HAVE_WIDGETS) && !defined(Q_WS_SIMULATOR)
|
||||
, m_videoWindowControl(0)
|
||||
#endif
|
||||
, m_audioEndpointControl(0)
|
||||
@@ -144,7 +144,7 @@ DirectShowPlayerService::~DirectShowPlayerService()
|
||||
delete m_audioEndpointControl;
|
||||
delete m_metaDataControl;
|
||||
delete m_videoRendererControl;
|
||||
#ifndef Q_WS_SIMULATOR
|
||||
#if defined(HAVE_WIDGETS) && !defined(Q_WS_SIMULATOR)
|
||||
delete m_videoWindowControl;
|
||||
#endif
|
||||
|
||||
@@ -161,7 +161,7 @@ QMediaControl *DirectShowPlayerService::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) {
|
||||
@@ -173,7 +173,7 @@ QMediaControl *DirectShowPlayerService::requestControl(const char *name)
|
||||
|
||||
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 Vmr9VideoWindowControl;
|
||||
@@ -198,7 +198,7 @@ void DirectShowPlayerService::releaseControl(QMediaControl *control)
|
||||
delete m_videoRendererControl;
|
||||
|
||||
m_videoRendererControl = 0;
|
||||
#ifndef Q_WS_SIMULATOR
|
||||
#if defined(HAVE_WIDGETS) && !defined(Q_WS_SIMULATOR)
|
||||
} else if (control == m_videoWindowControl) {
|
||||
setVideoOutput(0);
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ class DirectShowAudioEndpointControl;
|
||||
class DirectShowMetaDataControl;
|
||||
class DirectShowPlayerControl;
|
||||
class DirectShowVideoRendererControl;
|
||||
#ifndef Q_WS_SIMULATOR
|
||||
#if defined(HAVE_WIDGETS) && !defined(Q_WS_SIMULATOR)
|
||||
class Vmr9VideoWindowControl;
|
||||
#endif
|
||||
|
||||
@@ -180,7 +180,7 @@ private:
|
||||
DirectShowPlayerControl *m_playerControl;
|
||||
DirectShowMetaDataControl *m_metaDataControl;
|
||||
DirectShowVideoRendererControl *m_videoRendererControl;
|
||||
#ifndef Q_WS_SIMULATOR
|
||||
#if defined(HAVE_WIDGETS) && !defined(Q_WS_SIMULATOR)
|
||||
Vmr9VideoWindowControl *m_videoWindowControl;
|
||||
#endif
|
||||
DirectShowAudioEndpointControl *m_audioEndpointControl;
|
||||
|
||||
@@ -35,11 +35,11 @@ SOURCES += \
|
||||
$$PWD/mediasamplevideobuffer.cpp \
|
||||
$$PWD/videosurfacefilter.cpp
|
||||
|
||||
!simulator {
|
||||
HEADERS += \
|
||||
contains(config_test_widgets, yes):!simulator {
|
||||
HEADERS += \
|
||||
$$PWD/vmr9videowindowcontrol.h
|
||||
|
||||
SOURCES += \
|
||||
SOURCES += \
|
||||
$$PWD/vmr9videowindowcontrol.cpp
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user