1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-24 07:42:17 +00:00
mpv/audio
wm4 fa510bd00c af: prevent endless loop when removing filters due to spdif
This code removes filters which can not take spdif inout. This was made
so that PCM filters are transparently dropped in spdif mode.

This entered an endless loop with:

   --af=lavcac3enc:::2 --audio-channels=5.1

The forced number of output channels is incompatible with spdif. It's
trying to insert af_lavrresample as conversion filter to compensate for
it. Of course this doesn't work, which triggers the PCM filter removal.
Then it goes on normally - since the new state is exactly as before, it
will try the same thing again, forever.

Fix by reusing the retry counter, which is a very dumb but very
effective measure against these cases of filter negotiation failure. We
could try to be more clever (for example, if the removed filter is a
conversion filter, we can be sure this won't work, and error out
immediately). But better keep it simple and robust.
2015-10-26 15:51:26 +01:00
..
decode audio: make spdif re-probe from normal decoding work 2015-10-06 20:21:29 +02:00
filter af: prevent endless loop when removing filters due to spdif 2015-10-26 15:51:26 +01:00
out ao_alsa: log format probing in verbose mode 2015-10-25 20:09:38 +01:00
audio_buffer.c
audio_buffer.h
audio.c audio/filter: remove some useless filters 2015-09-03 23:55:36 +02:00
audio.h audio/filter: remove some useless filters 2015-09-03 23:55:36 +02:00
chmap_sel.c chmap_sel: add a mechanism for preferred conversions 2015-06-27 12:09:30 +02:00
chmap_sel.h chmap_sel: add multichannel fallback heuristic 2014-12-29 17:56:53 +01:00
chmap.c audio: output human-readable channel layouts too 2015-06-25 19:10:24 +02:00
chmap.h audio: output human-readable channel layouts too 2015-06-25 19:10:24 +02:00
fmt-conversion.c Update license headers 2015-04-13 12:10:01 +02:00
fmt-conversion.h Update license headers 2015-04-13 12:10:01 +02:00
format.c audio/format: revise af_format_conversion_score 2015-09-10 23:58:09 -07:00
format.h ao_lavc: use new sample format determination code 2015-09-10 23:38:42 +02:00
mixer.c audio: fix restoring volume 2015-07-27 15:07:51 +02:00
mixer.h audio: change range of volume option/property 2015-05-22 18:35:03 +02:00