This is the right thing to do, but I am afraid this will break too many existing filter chains. How can we implement this properly? Ideas/options:
- change it, break it, users will fix it - add a guess_output_layout option which will be true for now, false after a major bump, and mention this incompatible change in the next release - add amerge2 filter, deprecate amerge filter Signed-off-by: Marton Balint <c...@passwd.hu> --- libavfilter/af_amerge.c | 4 +--- tests/ref/fate/filter-amerge | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/libavfilter/af_amerge.c b/libavfilter/af_amerge.c index 3bc7d89..43a2d95 100644 --- a/libavfilter/af_amerge.c +++ b/libavfilter/af_amerge.c @@ -114,9 +114,7 @@ static int query_formats(AVFilterContext *ctx) "output layout will be determined by the number of distinct input channels\n"); for (i = 0; i < nb_ch; i++) s->route[i] = i; - outlayout = av_get_default_channel_layout(nb_ch); - if (!outlayout && nb_ch) - outlayout = 0xFFFFFFFFFFFFFFFFULL >> (64 - nb_ch); + outlayout = FF_COUNT2LAYOUT(nb_ch); } else { int *route[SWR_CH_MAX]; int c, out_ch_number = 0; diff --git a/tests/ref/fate/filter-amerge b/tests/ref/fate/filter-amerge index b3e5eb5..8118b4e 100644 --- a/tests/ref/fate/filter-amerge +++ b/tests/ref/fate/filter-amerge @@ -2,8 +2,8 @@ #media_type 0: audio #codec_id 0: pcm_s16le #sample_rate 0: 44100 -#channel_layout 0: 3 -#channel_layout_name 0: stereo +#channel_layout 0: 0 +#channel_layout_name 0: 2 channels 0, 0, 0, 2048, 8192, 0x120efa65 0, 2048, 2048, 2048, 8192, 0x7b3cebf7 0, 4096, 4096, 2048, 8192, 0x0fb8ee01 -- 2.10.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel