summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp
diff options
context:
space:
mode:
authorninerider <qt-info@nokia.com>2009-10-01 11:11:56 (GMT)
committerninerider <qt-info@nokia.com>2009-10-01 11:11:56 (GMT)
commitc443a37d638be253fbda33e33ad2798951e04248 (patch)
tree89a9d221ead07d029f0bbddcaeaf7432b8c6d4af /src/3rdparty/phonon/mmf/mmf_videoplayer.cpp
parentc7689f394df5fa5526e51017bf132048d3a4aa96 (diff)
parent3b37aff1e6c641290c155a6aa14d83167725556b (diff)
downloadQt-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.cpp14
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);
}