diff options
Diffstat (limited to 'player/audio.c')
-rw-r--r-- | player/audio.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/player/audio.c b/player/audio.c index f371b69bb4..5fcc2cbd22 100644 --- a/player/audio.c +++ b/player/audio.c @@ -414,7 +414,7 @@ void fill_audio_out_buffers(struct MPContext *mpctx, double endpts) return; // retry on next iteration } - bool end_sync = status != AD_OK; // (on error/EOF, start playback immediately) + bool end_sync = false; if (skip >= 0) { int max = mp_audio_buffer_samples(mpctx->ao_buffer); mp_audio_buffer_skip(mpctx->ao_buffer, MPMIN(skip, max)); @@ -434,6 +434,8 @@ void fill_audio_out_buffers(struct MPContext *mpctx, double endpts) if (mpctx->audio_status == STATUS_SYNCING) { if (end_sync) mpctx->audio_status = STATUS_FILLING; + if (status != AD_OK) + mpctx->audio_status = STATUS_EOF; mpctx->sleeptime = 0; return; // continue on next iteration } |