summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/player.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/player.cc b/src/lib/player.cc
index 220cf83c0..97d2cbdc0 100644
--- a/src/lib/player.cc
+++ b/src/lib/player.cc
@@ -223,6 +223,10 @@ Player::pass ()
if (_audio) {
Time audio_done_up_to = TIME_MAX;
for (list<shared_ptr<Piece> >::iterator i = _pieces.begin(); i != _pieces.end(); ++i) {
+ if ((*i)->decoder->done ()) {
+ continue;
+ }
+
if (dynamic_pointer_cast<AudioDecoder> ((*i)->decoder)) {
audio_done_up_to = min (audio_done_up_to, (*i)->audio_position);
}