chiark / gitweb /
empty track buffers aren't unplayable if at eof
[disorder] / server / speaker.c
index 1d95758687c5a6643a889a9dd6abefe8c0717ac1..a6c5f43e16f4f560b869422013fc0895ca5dd7f6 100644 (file)
@@ -352,8 +352,10 @@ static void speaker_play(size_t frames) {
   if(!playing->used || playing->start == (sizeof playing->buffer))
     playing->start = 0;
   /* If the buffer emptied out mark the track as unplayably */
-  if(!playing->used)
+  if(!playing->used && !playing->eof) {
+    error(0, "track buffer emptied");
     playing->playable = 0;
+  }
   frames -= written_frames;
   return;
 }