diff options
author | wm4 <wm4@nowhere> | 2018-04-19 19:16:01 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2018-04-20 12:34:43 +0200 |
commit | f4351e6f7d1c36e6ee39b69b79388636e433c401 (patch) | |
tree | 999177f34e85f8372fe2a6adad18f2e9b774eecc /player/audio.c | |
parent | ff24285eb15676dc7519b858be01a1def155e847 (diff) | |
download | mpv-f4351e6f7d1c36e6ee39b69b79388636e433c401.tar.bz2 mpv-f4351e6f7d1c36e6ee39b69b79388636e433c401.tar.xz |
audio: fix EOF handling if there was no data at all
It stopped and did nothing, instead of terminating (or just letting
video play, if there was any video). Regression due to recent filter
changes.
Diffstat (limited to 'player/audio.c')
-rw-r--r-- | player/audio.c | 7 |
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 } |