When seeking to the start of some content, take trim into account
authorCarl Hetherington <cth@carlh.net>
Tue, 17 Apr 2018 14:50:03 +0000 (15:50 +0100)
committerCarl Hetherington <cth@carlh.net>
Tue, 17 Apr 2018 14:50:03 +0000 (15:50 +0100)
so that we don't have to run through the whole of the trimmed
portion to get to the data we want.

src/lib/player.cc

index 8920b3e5bb62ca4ca83bf55098b576db575589d5..212bcfe45612f8d2264c03ebc923a7429f319507 100644 (file)
@@ -947,8 +947,8 @@ Player::seek (DCPTime time, bool accurate)
 
        BOOST_FOREACH (shared_ptr<Piece> i, _pieces) {
                if (time < i->content->position()) {
-                       /* Before; seek to 0 */
-                       i->decoder->seek (ContentTime(), accurate);
+                       /* Before; seek to the start of the content */
+                       i->decoder->seek (dcp_to_content_time (i, i->content->position()), accurate);
                        i->done = false;
                } else if (i->content->position() <= time && time < i->content->end()) {
                        /* During; seek to position */