1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-18 21:06:00 +00:00
mpv/audio/filter
wm4 e466a735a3 audio/filter: fully renegotiate audio formats on every reconfig
It could happen that a lavrresample filter would keep its old output
format when the decoder changed its output format. This simply happened
because the output format was never reset.

Normally, this was not an issue, because lavrresample filters only
inserted for format conversion were removed on format changes. But if
--no-audio-pitch-correction is set and playback speed is changed, then
there is a "permanent" lavrresample filter in the filter chain, which
shows this behavior.

Fix by explicitly resetting output formats for all filters which support
it.

Note: this can crash with libswresample in some cases. I'm not sure if
this is mpv's fault or libswresample's, but since it works with
libavresample, I'm going to assume it's not our's.
2015-04-12 18:06:23 +02:00
..
af_bs2b.c af_bs2b: fix option default value 2015-03-22 13:28:20 +01:00
af_center.c audio/filter: switch remaining in-place filters to refcounting 2015-01-15 20:13:12 +01:00
af_channels.c audio/filter: switch remaining filters to refcounting 2015-01-15 20:13:14 +01:00
af_convert24.c af_convert24: use refcounted frames 2015-01-13 20:17:08 +01:00
af_convertsignendian.c audio/filters: use refcounted frames for some in-place filters 2015-01-13 20:17:03 +01:00
af_delay.c audio/filter: switch remaining in-place filters to refcounting 2015-01-15 20:13:12 +01:00
af_drc.c audio/filters: use refcounted frames for some in-place filters 2015-01-13 20:17:03 +01:00
af_dummy.c audio/filters: use refcounted frames for some simple filters 2015-01-13 20:16:59 +01:00
af_equalizer.c audio/filters: use refcounted frames for some in-place filters 2015-01-13 20:17:03 +01:00
af_export.c audio/filters: use refcounted frames for some simple filters 2015-01-13 20:16:59 +01:00
af_extrastereo.c audio/filter: switch remaining in-place filters to refcounting 2015-01-15 20:13:12 +01:00
af_format.c audio/filters: use refcounted frames for some simple filters 2015-01-13 20:16:59 +01:00
af_hrtf.c audio/filter: switch remaining filters to refcounting 2015-01-15 20:13:14 +01:00
af_hrtf.h Kill all tabs 2014-04-13 18:03:01 +02:00
af_karaoke.c audio/filter: switch remaining in-place filters to refcounting 2015-01-15 20:13:12 +01:00
af_ladspa.c audio/filter: switch remaining in-place filters to refcounting 2015-01-15 20:13:12 +01:00
af_lavcac3enc.c af_lavcac3enc: use refcounted frames 2015-01-14 22:16:30 +01:00
af_lavfi.c af_lavfi: handle seeking 2015-03-17 22:31:05 +01:00
af_lavrresample.c audio: make all format query shortcuts macros 2015-04-03 15:40:01 -07:00
af_pan.c audio/filter: switch remaining filters to refcounting 2015-01-15 20:13:14 +01:00
af_rubberband.c af_rubberband: actually fix deadlock 2015-02-12 10:15:12 +01:00
af_scaletempo.c audio: automatically deatch filters if spdif prevents their use 2015-04-07 21:38:39 +02:00
af_sinesuppress.c audio/filter: switch remaining in-place filters to refcounting 2015-01-15 20:13:12 +01:00
af_sub.c audio/filter: switch remaining in-place filters to refcounting 2015-01-15 20:13:12 +01:00
af_surround.c audio/filter: switch remaining filters to refcounting 2015-01-15 20:13:14 +01:00
af_sweep.c audio/filter: switch remaining in-place filters to refcounting 2015-01-15 20:13:12 +01:00
af_volume.c audio: make all format query shortcuts macros 2015-04-03 15:40:01 -07:00
af.c audio/filter: fully renegotiate audio formats on every reconfig 2015-04-12 18:06:23 +02:00
af.h audio: change a detail about filter insertion 2015-04-07 21:24:22 +02:00
dsp.h Kill all tabs 2014-04-13 18:03:01 +02:00
equalizer.h Kill all tabs 2014-04-13 18:03:01 +02:00
filter.c Kill all tabs 2014-04-13 18:03:01 +02:00
filter.h Kill all tabs 2014-04-13 18:03:01 +02:00
tools.c af: remove unused functions 2015-04-01 21:39:40 +02:00
window.c Kill all tabs 2014-04-13 18:03:01 +02:00
window.h