0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00
mpv/audio/filter
wm4 84cfe0d8b2 audio: flush remaining data from the filter chain on EOF
This can be reproduced with:

   mpv short.wav -af 'lavfi="aecho=0.8:0.9:5000|6800:0.3|0.25"'

An audio file that is just 1-2 seconds long should play for 8-9 seconds,
which audible echo towards the end.

The code assumes that when playing with AF_FILTER_FLAG_EOF, the filter
will either produce output, or has all remaining data flushed. I'm not
really sure whether this really works if there are multiple filters with
EOF handling in the chain. To handle it correctly, af_lavfi should retry
filtering if 1. EOF flag is set, 2. there were input samples, and 3. no
output samples were produced. But currently it seems to work well enough
anyway.
2013-12-05 00:31:55 +01:00
..
af_bs2b.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_center.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_channels.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_convert24.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_convertsignendian.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_delay.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_drc.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_dummy.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_equalizer.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_export.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_extrastereo.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_format.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_hrtf.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_hrtf.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
af_karaoke.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_ladspa.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_lavcac3enc.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_lavfi.c audio: flush remaining data from the filter chain on EOF 2013-12-05 00:31:55 +01:00
af_lavrresample.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_pan.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_scaletempo.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_sinesuppress.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_sub.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_surround.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_sweep.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af_volume.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af.c audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
af.h audio/filter: change filter callback signature 2013-12-05 00:01:46 +01:00
dsp.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
equalizer.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
filter.c Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
filter.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
tools.c audio/filter: rename af_tools.c to tools.c 2013-11-18 18:48:00 +01:00
window.c Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00
window.h Rename directories, move files (step 1 of 2) (does not compile) 2012-11-12 20:06:14 +01:00