mirror of
https://github.com/mpv-player/mpv
synced 2025-02-27 19:01:07 +00:00
Some time ago, a mechanism was added for automatically removing PCM-only
filters if the input format is spdif.
This could cause an infinite loop if the AO did not support spdif, but
was falling back to some PCM format. Then this code tried to remove the
last filter, which is a dummy filter for receiving and queuing filter
output. af_remove() simply fails gracefully in this case, so this
happens over and over again.
Fix by explicitly checking whether the filter to remove is a dummy
filter. (af_remove() also fails only if the dummy filters are attempted
to be removed - checking this directly is simpler.)
(cherry picked from commit
|
||
---|---|---|
.. | ||
af_bs2b.c | ||
af_center.c | ||
af_channels.c | ||
af_convert24.c | ||
af_convertsignendian.c | ||
af_delay.c | ||
af_drc.c | ||
af_dummy.c | ||
af_equalizer.c | ||
af_export.c | ||
af_extrastereo.c | ||
af_format.c | ||
af_hrtf.c | ||
af_hrtf.h | ||
af_karaoke.c | ||
af_ladspa.c | ||
af_lavcac3enc.c | ||
af_lavfi.c | ||
af_lavrresample.c | ||
af_pan.c | ||
af_rubberband.c | ||
af_scaletempo.c | ||
af_sinesuppress.c | ||
af_sub.c | ||
af_surround.c | ||
af_sweep.c | ||
af_volume.c | ||
af.c | ||
af.h | ||
dsp.h | ||
equalizer.h | ||
filter.c | ||
filter.h | ||
tools.c | ||
window.c | ||
window.h |