diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-10-06 05:21:51 +0200 |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-10-06 05:21:51 +0200 |
commit | 88ba0a2d8436342d645d3fa2cdeaa9a6de777673 (patch) | |
tree | 554441ab1b1111e27f77e48d081ba9022ca6759b | |
parent | 83087feb485a4b297123b453765e6f9add2e40b9 (diff) | |
parent | 43afae646c920d04584bdc2946f7119da4893859 (diff) |
Merge branch '1.0' of scm.dev.nokia.troll.no:qtmobility/qtm-multimedia into 1.0-integration
* '1.0' of scm.dev.nokia.troll.no:qtmobility/qtm-multimedia:
QVideoWidget::sizeHint() is only updated when media is loaded.
-rw-r--r-- | plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp index 01f8b15639..06828fe19a 100644 --- a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp +++ b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp @@ -710,13 +710,7 @@ void QGstreamerPlayerSession::busMessage(const QGstreamerMessage &message) m_playbackRate = 1.0; setPlaybackRate(rate); } - - if (m_renderer) - m_renderer->precessNewStream(); - } - - break; case GST_STATE_PLAYING: if (oldState == GST_STATE_PAUSED) @@ -804,6 +798,16 @@ void QGstreamerPlayerSession::busMessage(const QGstreamerMessage &message) case GST_MESSAGE_ANY: break; } + } else if (m_videoSink + && m_renderer + && GST_MESSAGE_SRC(gm) == GST_OBJECT_CAST(m_videoSink) + && GST_MESSAGE_TYPE(gm) == GST_MESSAGE_STATE_CHANGED) { + GstState oldState; + GstState newState; + gst_message_parse_state_changed(gm, &oldState, &newState, 0); + + if (oldState == GST_STATE_READY && newState == GST_STATE_PAUSED) + m_renderer->precessNewStream(); } } } |