summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-04-26 19:13:50 +0100
committerCarl Hetherington <cth@carlh.net>2013-04-26 19:13:50 +0100
commit3e1ae9934f3b908943c90db523ae2332022b5f1d (patch)
treec6fa26699c84d18cccb3a535d231de2db9412d36 /src/lib
parent85a0f18db9430dd670c65725a91f2c742294c30d (diff)
Fix seek.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/player.cc12
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 {