X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Faf_join.c;h=ea03b60d67f401245fea8ed1eecff4220ed7a67f;hb=715da295017e8060ded1e16ce995049ee38dae59;hp=930c9e48e736a1bae9a83363f8f1c5084c6cbeb9;hpb=3eea8edf618079e44719fe059ddd953b21ef1ba9;p=ffmpeg diff --git a/libavfilter/af_join.c b/libavfilter/af_join.c index 930c9e48e73..ea03b60d67f 100644 --- a/libavfilter/af_join.c +++ b/libavfilter/af_join.c @@ -25,6 +25,7 @@ */ #include "libavutil/avassert.h" +#include "libavutil/avstring.h" #include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/opt.h" @@ -185,12 +186,10 @@ static av_cold int join_init(AVFilterContext *ctx) return ret; for (i = 0; i < s->inputs; i++) { - char name[32]; AVFilterPad pad = { 0 }; - snprintf(name, sizeof(name), "input%d", i); - pad.type = AVMEDIA_TYPE_AUDIO; - pad.name = av_strdup(name); + pad.type = AVMEDIA_TYPE_AUDIO; + pad.name = av_asprintf("input%d", i); if (!pad.name) return AVERROR(ENOMEM); @@ -208,9 +207,12 @@ static av_cold void join_uninit(AVFilterContext *ctx) JoinContext *s = ctx->priv; int i; + for (i = 0; i < s->inputs && s->input_frames; i++) { + av_frame_free(&s->input_frames[i]); + } + for (i = 0; i < ctx->nb_inputs; i++) { av_freep(&ctx->input_pads[i].name); - av_frame_free(&s->input_frames[i]); } av_freep(&s->channels);