summaryrefslogtreecommitdiffstats
path: root/src/plugins/gstreamer/qgstreamervideowindow.cpp
diff options
context:
space:
mode:
authorDmytro Poplavskiy <dmytro.poplavskiy@nokia.com>2011-08-02 14:33:38 +1000
committerQt by Nokia <qt-info@nokia.com>2011-08-05 07:50:59 +0200
commite70ebfd2ed8d522478f04ab823b527b48ed24671 (patch)
treeaa52d70121ab80a07ff5036aba3be30be8aba758 /src/plugins/gstreamer/qgstreamervideowindow.cpp
parent6eac3bd6488f8d8b368d97bdb8d701b804310be6 (diff)
Gstreamer media backend cleanup.
Moved controls specific bus/sync messages handling from player/camera/capture session to corresponding controls. Reviewed-by: Michael Goddard Change-Id: Ieb67976ed335b0ef1cde87dc60e8ad8da3409526 Reviewed-on: http://codereview.qt.nokia.com/2535 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Diffstat (limited to 'src/plugins/gstreamer/qgstreamervideowindow.cpp')
-rw-r--r--src/plugins/gstreamer/qgstreamervideowindow.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/plugins/gstreamer/qgstreamervideowindow.cpp b/src/plugins/gstreamer/qgstreamervideowindow.cpp
index 0f92d76a9..d8d822269 100644
--- a/src/plugins/gstreamer/qgstreamervideowindow.cpp
+++ b/src/plugins/gstreamer/qgstreamervideowindow.cpp
@@ -115,14 +115,23 @@ void QGstreamerVideoWindow::setWinId(WId id)
emit readyChanged(false);
}
-void QGstreamerVideoWindow::precessNewStream()
+bool QGstreamerVideoWindow::processSyncMessage(const QGstreamerMessage &message)
{
- if (m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) {
+ GstMessage* gm = message.rawMessage();
+
+ if ((GST_MESSAGE_TYPE(gm) == GST_MESSAGE_ELEMENT) &&
+ gst_structure_has_name(gm->structure, "prepare-xwindow-id") &&
+ m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) {
+
gst_x_overlay_set_xwindow_id(GST_X_OVERLAY(m_videoSink), m_windowId);
GstPad *pad = gst_element_get_static_pad(m_videoSink,"sink");
m_bufferProbeId = gst_pad_add_buffer_probe(pad, G_CALLBACK(padBufferProbe), this);
+
+ return true;
}
+
+ return false;
}
QRect QGstreamerVideoWindow::displayRect() const