From 3e1ae9934f3b908943c90db523ae2332022b5f1d Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Fri, 26 Apr 2013 19:13:50 +0100 Subject: Fix seek. --- src/lib/player.cc | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src/lib') diff --git a/src/lib/player.cc b/src/lib/player.cc index a84117a4e..357c69e82 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -174,17 +174,15 @@ Player::seek (double t) /* Find the decoder that contains this position */ _video_decoder = 0; - while (_video_decoder < _video_decoders.size ()) { - if (t < _video_start[_video_decoder]) { - assert (_video_decoder); + while (1) { + ++_video_decoder; + if (_video_decoder >= _video_decoders.size () || t < _video_start[_video_decoder]) { --_video_decoder; + t -= _video_start[_video_decoder]; break; } - - t -= _video_start[_video_decoder]; - ++_video_decoder; } - + if (_video_decoder < _video_decoders.size()) { _video_decoders[_video_decoder]->seek (t); } else { -- cgit v1.2.3