diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-04-26 19:13:50 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-04-26 19:13:50 +0100 |
| commit | 3e1ae9934f3b908943c90db523ae2332022b5f1d (patch) | |
| tree | c6fa26699c84d18cccb3a535d231de2db9412d36 /src/lib | |
| parent | 85a0f18db9430dd670c65725a91f2c742294c30d (diff) | |
Fix seek.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/player.cc | 12 |
1 files changed, 5 insertions, 7 deletions
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 { |
