avfilter/af_channelmap: Move ff_add_channel_layout() call to querry_format()

Avoids memleak if querry_formats is not called

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2015-07-21 17:40:38 +02:00
parent f2d7409c72
commit 39867f3e09

View File

@ -275,8 +275,6 @@ static av_cold int channelmap_init(AVFilterContext *ctx)
return AVERROR(EINVAL);
}
ff_add_channel_layout(&s->channel_layouts, s->output_layout);
if (mode == MAP_PAIR_INT_STR || mode == MAP_PAIR_STR_STR) {
for (i = 0; i < s->nch; i++) {
s->map[i].out_channel_idx = av_get_channel_layout_channel_index(
@ -299,6 +297,7 @@ static int channelmap_query_formats(AVFilterContext *ctx)
if (!layouts)
return AVERROR(ENOMEM);
ff_add_channel_layout(&s->channel_layouts, s->output_layout);
ff_channel_layouts_ref(layouts, &ctx->inputs[0]->out_channel_layouts);
ff_channel_layouts_ref(s->channel_layouts, &ctx->outputs[0]->in_channel_layouts);