diff options
author | Bastien Bouclet | 2018-06-29 07:19:41 +0200 |
---|---|---|
committer | Bastien Bouclet | 2018-06-29 07:20:28 +0200 |
commit | c76c0522591004d3e79a4990099ca2122a6414d9 (patch) | |
tree | 1ad0f845808a5f50c6979a9bceb25a63f230d4d9 /video | |
parent | 33353b3e9c3ce58320ce0319834c91b2067b0785 (diff) | |
download | scummvm-rg350-c76c0522591004d3e79a4990099ca2122a6414d9.tar.gz scummvm-rg350-c76c0522591004d3e79a4990099ca2122a6414d9.tar.bz2 scummvm-rg350-c76c0522591004d3e79a4990099ca2122a6414d9.zip |
VIDEO: Fix seeking the the last frame of QT videos while playing backwards
Fixes Trac#10590.
Diffstat (limited to 'video')
-rw-r--r-- | video/qt_decoder.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/video/qt_decoder.cpp b/video/qt_decoder.cpp index 70f0ae43da..4786e61227 100644 --- a/video/qt_decoder.cpp +++ b/video/qt_decoder.cpp @@ -326,8 +326,12 @@ bool QuickTimeDecoder::VideoTrackHandler::seek(const Audio::Timestamp &requested break; // If we did reach the end of the track, break out - if (atLastEdit()) + if (atLastEdit()) { + // Call setReverse to set the position to the last frame of the last edit + if (_reversed) + setReverse(true); return true; + } // If this track is in an empty edit, position us at the next non-empty // edit. There's nothing else to do after this. @@ -344,8 +348,12 @@ bool QuickTimeDecoder::VideoTrackHandler::seek(const Audio::Timestamp &requested enterNewEditList(false); // One extra check for the end of a track - if (atLastEdit()) + if (atLastEdit()) { + // Call setReverse to set the position to the last frame of the last edit + if (_reversed) + setReverse(true); return true; + } // Now we're in the edit and need to figure out what frame we need Audio::Timestamp time = requestedTime.convertToFramerate(_parent->timeScale); |