From da12ea2e80553a6419b3da2c7eb54f754e24c730 Mon Sep 17 00:00:00 2001 From: Lev Zelenskiy Date: Wed, 9 May 2012 12:02:54 +1000 Subject: [PATCH] Update duration information after switching to PLAYING state. For rtsp streams duration information might not be available until playback starts. Change-Id: Id8829408a4bd2c0fc6a89f2d059d23a5a95d940e Reviewed-by: Dmytro Poplavskiy --- .../gstreamer/mediaplayer/qgstreamerplayersession.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp index caf034d2..ab80ebd9 100644 --- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp +++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp @@ -1068,9 +1068,17 @@ bool QGstreamerPlayerSession::processBusMessage(const QGstreamerMessage &message } case GST_STATE_PLAYING: m_everPlayed = true; - if (m_state != QMediaPlayer::PlayingState) + if (m_state != QMediaPlayer::PlayingState) { emit stateChanged(m_state = QMediaPlayer::PlayingState); + // For rtsp streams duration information might not be available + // until playback starts. + if (m_duration <= 0) { + m_durationQueries = 5; + updateDuration(); + } + } + break; } }