X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Faf_amerge.c;h=2b4edb09ff7431d5748855f70eea042ce7b75927;hb=07225fa74f2cdb29d6d85fd33675539bfdfe9ea5;hp=410d6134d7b09d151a5eae49ef0bf3351e5103ca;hpb=f35c4ede9e0e360143a5b81adbbbec23f37fdce2;p=ffmpeg diff --git a/libavfilter/af_amerge.c b/libavfilter/af_amerge.c index 410d6134d7b..2b4edb09ff7 100644 --- a/libavfilter/af_amerge.c +++ b/libavfilter/af_amerge.c @@ -78,7 +78,7 @@ static int query_formats(AVFilterContext *ctx) int64_t inlayout[SWR_CH_MAX], outlayout = 0; AVFilterFormats *formats; AVFilterChannelLayouts *layouts; - int i, overlap = 0, nb_ch = 0; + int i, ret, overlap = 0, nb_ch = 0; for (i = 0; i < s->nb_inputs; i++) { if (!ctx->inputs[i]->in_channel_layouts || @@ -125,17 +125,22 @@ static int query_formats(AVFilterContext *ctx) *(route[i]++) = out_ch_number++; } formats = ff_make_format_list(ff_packed_sample_fmts_array); - ff_set_common_formats(ctx, formats); + if ((ret = ff_set_common_formats(ctx, formats)) < 0) + return ret; for (i = 0; i < s->nb_inputs; i++) { layouts = NULL; - ff_add_channel_layout(&layouts, inlayout[i]); - ff_channel_layouts_ref(layouts, &ctx->inputs[i]->out_channel_layouts); + if ((ret = ff_add_channel_layout(&layouts, inlayout[i])) < 0) + return ret; + if ((ret = ff_channel_layouts_ref(layouts, &ctx->inputs[i]->out_channel_layouts)) < 0) + return ret; } layouts = NULL; - ff_add_channel_layout(&layouts, outlayout); - ff_channel_layouts_ref(layouts, &ctx->outputs[0]->in_channel_layouts); - ff_set_common_samplerates(ctx, ff_all_samplerates()); - return 0; + if ((ret = ff_add_channel_layout(&layouts, outlayout)) < 0) + return ret; + if ((ret = ff_channel_layouts_ref(layouts, &ctx->outputs[0]->in_channel_layouts)) < 0) + return ret; + + return ff_set_common_samplerates(ctx, ff_all_samplerates()); } static int config_output(AVFilterLink *outlink)