diff options
Diffstat (limited to 'src/plugins/gstreamer/camerabin')
-rw-r--r-- | src/plugins/gstreamer/camerabin/camerabinservice.cpp | 26 | ||||
-rw-r--r-- | src/plugins/gstreamer/camerabin/camerabinservice.h | 4 |
2 files changed, 17 insertions, 13 deletions
diff --git a/src/plugins/gstreamer/camerabin/camerabinservice.cpp b/src/plugins/gstreamer/camerabin/camerabinservice.cpp index e230d40f9..a401452ff 100644 --- a/src/plugins/gstreamer/camerabin/camerabinservice.cpp +++ b/src/plugins/gstreamer/camerabin/camerabinservice.cpp @@ -61,16 +61,18 @@ #include "qgstreameraudioinputendpointselector.h" #include "qgstreamervideoinputdevicecontrol.h" +#if defined(HAVE_WIDGETS) #include "qgstreamervideooverlay.h" #include "qgstreamervideowindow.h" +#include "qgstreamervideowidget.h" +#endif + #include "qgstreamervideorenderer.h" #if defined(Q_WS_MAEMO_6) && defined(__arm__) #include "qgstreamergltexturerenderer.h" #endif -#include "qgstreamervideowidget.h" - #include <qmediaserviceprovider.h> #include <QtCore/qdebug.h> @@ -92,9 +94,11 @@ CameraBinService::CameraBinService(const QString &service, QObject *parent): m_videoOutput = 0; m_videoRenderer = 0; +#if defined(HAVE_XVIDEO) && defined(HAVE_WIDGETS) m_videoWindow = 0; m_videoWidgetControl = 0; - m_imageCaptureControl = 0; +#endif + m_imageCaptureControl = 0; if (service == Q_MEDIASERVICE_CAMERA) { m_captureSession = new CameraBinSession(this); @@ -106,29 +110,24 @@ CameraBinService::CameraBinService(const QString &service, QObject *parent): m_captureSession, SLOT(setDevice(QString))); if (m_videoInputDevice->deviceCount()) - m_captureSession->setDevice(m_videoInputDevice->deviceName(m_videoInputDevice->selectedDevice())); + m_captureSession->setDevice(m_videoInputDevice->deviceName(m_videoInputDevice->selectedDevice())); -#if defined(Q_WS_MAEMO_6) && defined(__arm__) +#if defined(Q_WS_MAEMO_6) && defined(__arm__) && defined(HAVE_WIDGETS) m_videoRenderer = new QGstreamerGLTextureRenderer(this); #else m_videoRenderer = new QGstreamerVideoRenderer(this); #endif -#ifdef HAVE_XVIDEO - +#if defined(HAVE_XVIDEO) && defined(HAVE_WIDGETS) #ifdef Q_WS_MAEMO_6 m_videoWindow = new QGstreamerVideoWindow(this, "omapxvsink"); - //m_videoWindow = new QGstreamerVideoWindow(this); #else m_videoWindow = new QGstreamerVideoOverlay(this); #endif - m_videoWidgetControl = new QGstreamerVideoWidgetControl(this); - #endif } - if (!m_captureSession) { qWarning() << Q_FUNC_INFO << "Service type is not supported:" << service; return; @@ -163,11 +162,14 @@ QMediaControl *CameraBinService::requestControl(const char *name) if (!m_videoOutput) { if (qstrcmp(name, QVideoRendererControl_iid) == 0) { m_videoOutput = m_videoRenderer; - } else if (qstrcmp(name, QVideoWindowControl_iid) == 0) { + } +#if defined(HAVE_XVIDEO) && defined(HAVE_WIDGETS) + else if (qstrcmp(name, QVideoWindowControl_iid) == 0) { m_videoOutput = m_videoWindow; } else if (qstrcmp(name, QVideoWidgetControl_iid) == 0) { m_videoOutput = m_videoWidgetControl; } +#endif if (m_videoOutput) { m_captureSession->setViewfinder(m_videoOutput); diff --git a/src/plugins/gstreamer/camerabin/camerabinservice.h b/src/plugins/gstreamer/camerabin/camerabinservice.h index 5513dd80e..dd8ceba87 100644 --- a/src/plugins/gstreamer/camerabin/camerabinservice.h +++ b/src/plugins/gstreamer/camerabin/camerabinservice.h @@ -79,7 +79,7 @@ private: void setAudioPreview(GstElement*); CameraBinSession *m_captureSession; - CameraBinControl *m_cameraControl; + CameraBinControl *m_cameraControl; CameraBinMetaData *m_metaDataControl; QAudioEndpointSelector *m_audioInputEndpointSelector; @@ -88,8 +88,10 @@ private: QMediaControl *m_videoOutput; QMediaControl *m_videoRenderer; +#if defined(HAVE_XVIDEO) && defined(HAVE_WIDGETS) QMediaControl *m_videoWindow; QGstreamerVideoWidgetControl *m_videoWidgetControl; +#endif CameraBinImageCapture *m_imageCaptureControl; }; |