} else:qnx {
qtCompileTest(mmrenderer)
} else {
- qtCompileTest(alsa)
- qtCompileTest(pulseaudio)
+ contains(QT_CONFIG, alsa):qtCompileTest(alsa)
+ contains(QT_CONFIG, pulseaudio):qtCompileTest(pulseaudio)
- qtCompileTest(gstreamer) {
+
+ isEmpty(GST_VERSION) {
+ contains(QT_CONFIG, gstreamer-0.10) {
+ GST_VERSION = 0.10
+ } else: contains(QT_CONFIG, gstreamer-1.0) {
+ GST_VERSION = 1.0
+ }
+ }
+ cache(GST_VERSION, set)
+ !isEmpty(GST_VERSION):qtCompileTest(gstreamer) {
qtCompileTest(gstreamer_photography)
qtCompileTest(gstreamer_encodingprofiles)
qtCompileTest(gstreamer_appsrc)
#else
m_videoWindow = new QGstreamerVideoWindow(this);
#endif
-
+ // If the GStreamer sink element is not available (xvimagesink), don't provide
+ // the video window control since it won't work anyway.
+ if (!m_videoWindow->videoSink()) {
+ delete m_videoWindow;
+ m_videoWindow = 0;
+ }
#if defined(HAVE_WIDGETS)
m_videoWidgetControl = new QGstreamerVideoWidgetControl(this);
+
+ // If the GStreamer sink element is not available (xvimagesink or ximagesink), don't provide
+ // the video widget control since it won't work anyway.
+ // QVideoWidget will fall back to QVideoRendererControl in that case.
+ if (!m_videoWidgetControl->videoSink()) {
+ delete m_videoWidgetControl;
+ m_videoWidgetControl = 0;
+ }
#endif
m_audioInputSelector = new QGstreamerAudioInputSelector(this);
QMediaControl *m_videoOutput;
QGstreamerVideoRenderer *m_videoRenderer;
- QMediaControl *m_videoWindow;
+ QGstreamerVideoWindow *m_videoWindow;
#if defined(HAVE_WIDGETS)
- QMediaControl *m_videoWidgetControl;
+ QGstreamerVideoWidgetControl *m_videoWidgetControl;
#endif
QGstreamerImageCaptureControl *m_imageCaptureControl;
+
+ QGstreamerAudioProbeControl *m_audioProbeControl;
};
QT_END_NAMESPACE
class QGstreamerMetaDataProvider;
class QGstreamerStreamsControl;
class QGstreamerVideoRenderer;
+ class QGstreamerVideoWindow;
class QGstreamerVideoWidgetControl;
class QGStreamerAvailabilityControl;
+class QGstreamerAudioProbeControl;
+class QGstreamerVideoProbeControl;
class QGstreamerPlayerService : public QMediaService
{
QGstreamerStreamsControl *m_streamsControl;
QGStreamerAvailabilityControl *m_availabilityControl;
+ QGstreamerAudioProbeControl *m_audioProbeControl;
+ QGstreamerVideoProbeControl *m_videoProbeControl;
+
QMediaControl *m_videoOutput;
QMediaControl *m_videoRenderer;
- QMediaControl *m_videoWindow;
+ QGstreamerVideoWindow *m_videoWindow;
#if defined(HAVE_WIDGETS)
- QMediaControl *m_videoWidget;
+ QGstreamerVideoWidgetControl *m_videoWidget;
#endif
void increaseVideoRef();