summaryrefslogtreecommitdiffstats
path: root/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
diff options
context:
space:
mode:
authorLev Zelenskiy <lev.zelenskiy@nokia.com>2012-05-09 12:02:54 +1000
committerQt by Nokia <qt-info@nokia.com>2012-05-11 07:10:27 +0200
commitda12ea2e80553a6419b3da2c7eb54f754e24c730 (patch)
tree529bd7bbcf3748b18f0ab2f655b876f31bf62990 /src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
parent26e4c8cff70027fba848cfbea10c517fe64ec20c (diff)
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 <dmytro.poplavskiy@nokia.com>
Diffstat (limited to 'src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp')
-rw-r--r--src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
index caf034d2d..ab80ebd91 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;
}
}