summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--player/audio.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/player/audio.c b/player/audio.c
index 842d965d49..ce9e1cd06b 100644
--- a/player/audio.c
+++ b/player/audio.c
@@ -805,6 +805,13 @@ void fill_audio_out_buffers(struct MPContext *mpctx)
// Probe the initial audio format.
mp_pin_out_request_data(ao_c->filter->f->pins[1]);
reinit_audio_filters_and_output(mpctx);
+ if (ao_c->filter->got_output_eof &&
+ mpctx->audio_status != STATUS_EOF)
+ {
+ mpctx->audio_status = STATUS_EOF;
+ MP_VERBOSE(mpctx, "audio EOF without any data\n");
+ mp_filter_reset(ao_c->filter->f);
+ }
return; // try again next iteration
}