diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-09-21 05:18:19 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-09-21 17:56:17 +0200 |
commit | 7d995078386793e0aeeedeb7803001ed8758b30b (patch) | |
tree | 1c2be3ae892b902793f71c7928ca304d7be3f6f3 /libavformat/icecast.c | |
parent | 80d32e0f7e9dd3263b64cc0cc4b744de212c61fa (diff) | |
download | ffmpeg-7d995078386793e0aeeedeb7803001ed8758b30b.tar.gz |
avfilter/af_sidechaincompress: Honour query_formats API, fix segfault
Just like the sidechaingate filter, the sidechaincompress filter
overwrote the channel layout and channel count of its output in
its config_output callback to match the channel layout of its main
input instead of linking the main input and its output together
in its query_formats callback.
This is an API violation that can lead to segfaults, as in the
following filtergraph, where stereotools rightly expects stereo,
yet receives only mono:
[in]aformat=channel_layouts=mono,aformat=channel_layouts=stereo|mono[out];\
[out][in2]sidechaincompress,stereotools
Fix this by linking the channel layouts of the main input and the output
in query_formats and remove the code overwriting it in config_output.
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavformat/icecast.c')
0 files changed, 0 insertions, 0 deletions