diff options
author | Lev Zelenskiy <lev.zelenskiy@nokia.com> | 2012-05-09 12:02:54 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-11 07:10:27 +0200 |
commit | da12ea2e80553a6419b3da2c7eb54f754e24c730 (patch) | |
tree | 529bd7bbcf3748b18f0ab2f655b876f31bf62990 /src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp | |
parent | 26e4c8cff70027fba848cfbea10c517fe64ec20c (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.cpp | 10 |
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; } } |