diff options
Diffstat (limited to 'libavfilter/af_astreamsync.c')
-rw-r--r-- | libavfilter/af_astreamsync.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/libavfilter/af_astreamsync.c b/libavfilter/af_astreamsync.c index becfe34074..d08da260fe 100644 --- a/libavfilter/af_astreamsync.c +++ b/libavfilter/af_astreamsync.c @@ -89,20 +89,23 @@ static av_cold int init(AVFilterContext *ctx) static int query_formats(AVFilterContext *ctx) { - int i; + int i, ret; AVFilterFormats *formats, *rates; AVFilterChannelLayouts *layouts; for (i = 0; i < 2; i++) { formats = ctx->inputs[i]->in_formats; - ff_formats_ref(formats, &ctx->inputs[i]->out_formats); - ff_formats_ref(formats, &ctx->outputs[i]->in_formats); + if ((ret = ff_formats_ref(formats, &ctx->inputs[i]->out_formats)) < 0 || + (ret = ff_formats_ref(formats, &ctx->outputs[i]->in_formats)) < 0) + return ret; rates = ff_all_samplerates(); - ff_formats_ref(rates, &ctx->inputs[i]->out_samplerates); - ff_formats_ref(rates, &ctx->outputs[i]->in_samplerates); + if ((ret = ff_formats_ref(rates, &ctx->inputs[i]->out_samplerates)) < 0 || + (ret = ff_formats_ref(rates, &ctx->outputs[i]->in_samplerates)) < 0) + return ret; layouts = ctx->inputs[i]->in_channel_layouts; - ff_channel_layouts_ref(layouts, &ctx->inputs[i]->out_channel_layouts); - ff_channel_layouts_ref(layouts, &ctx->outputs[i]->in_channel_layouts); + if ((ret = ff_channel_layouts_ref(layouts, &ctx->inputs[i]->out_channel_layouts)) < 0 || + (ret = ff_channel_layouts_ref(layouts, &ctx->outputs[i]->in_channel_layouts)) < 0) + return ret; } return 0; } |