diff options
author | ninerider <qt-info@nokia.com> | 2009-10-01 11:11:56 (GMT) |
---|---|---|
committer | ninerider <qt-info@nokia.com> | 2009-10-01 11:11:56 (GMT) |
commit | c443a37d638be253fbda33e33ad2798951e04248 (patch) | |
tree | 89a9d221ead07d029f0bbddcaeaf7432b8c6d4af /src/3rdparty/phonon/mmf/mmf_videoplayer.cpp | |
parent | c7689f394df5fa5526e51017bf132048d3a4aa96 (diff) | |
parent | 3b37aff1e6c641290c155a6aa14d83167725556b (diff) | |
download | Qt-c443a37d638be253fbda33e33ad2798951e04248.zip Qt-c443a37d638be253fbda33e33ad2798951e04248.tar.gz Qt-c443a37d638be253fbda33e33ad2798951e04248.tar.bz2 |
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt into 4.6
Diffstat (limited to 'src/3rdparty/phonon/mmf/mmf_videoplayer.cpp')
-rw-r--r-- | src/3rdparty/phonon/mmf/mmf_videoplayer.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp index 8a38b76..64e6568 100644 --- a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp +++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp @@ -147,10 +147,22 @@ void MMF::VideoPlayer::doStop() void MMF::VideoPlayer::doSeek(qint64 ms) { TRACE_CONTEXT(VideoPlayer::doSeek, EVideoApi); + + bool wasPlaying = false; + if(state() == PlayingState) { + // The call to SetPositionL does not have any effect if playback is + // ongoing, so we pause before seeking. + doPause(); + wasPlaying = true; + } TRAPD(err, m_player->SetPositionL(TTimeIntervalMicroSeconds(ms * 1000))); - if (KErrNone != err) { + if(KErrNone == err) { + if(wasPlaying) + doPlay(); + } + else { TRACE("SetPositionL error %d", err); setError(NormalError); } |