summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-10-06 05:21:51 +0200
committerQt Continuous Integration System <qt-info@nokia.com>2010-10-06 05:21:51 +0200
commit88ba0a2d8436342d645d3fa2cdeaa9a6de777673 (patch)
tree554441ab1b1111e27f77e48d081ba9022ca6759b
parent83087feb485a4b297123b453765e6f9add2e40b9 (diff)
parent43afae646c920d04584bdc2946f7119da4893859 (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.cpp16
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();
}
}
}