summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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 {