avfilter/avf_aphasemeter: Don't allocate outpad names

These names are always the same, so not using duplicates saves
allocations, checks for the allocations as well as frees.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
Andreas Rheinhardt 2020-08-22 04:33:58 +02:00
parent 3ac3f39314
commit 281b8187e3

View File

@ -227,11 +227,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
static av_cold void uninit(AVFilterContext *ctx) static av_cold void uninit(AVFilterContext *ctx)
{ {
AudioPhaseMeterContext *s = ctx->priv; AudioPhaseMeterContext *s = ctx->priv;
int i;
av_frame_free(&s->out); av_frame_free(&s->out);
for (i = 0; i < ctx->nb_outputs; i++)
av_freep(&ctx->output_pads[i].name);
} }
static av_cold int init(AVFilterContext *ctx) static av_cold int init(AVFilterContext *ctx)
@ -241,30 +238,22 @@ static av_cold int init(AVFilterContext *ctx)
int ret; int ret;
pad = (AVFilterPad){ pad = (AVFilterPad){
.name = av_strdup("out0"), .name = "out0",
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
}; };
if (!pad.name)
return AVERROR(ENOMEM);
ret = ff_insert_outpad(ctx, 0, &pad); ret = ff_insert_outpad(ctx, 0, &pad);
if (ret < 0) { if (ret < 0)
av_freep(&pad.name);
return ret; return ret;
}
if (s->do_video) { if (s->do_video) {
pad = (AVFilterPad){ pad = (AVFilterPad){
.name = av_strdup("out1"), .name = "out1",
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.config_props = config_video_output, .config_props = config_video_output,
}; };
if (!pad.name)
return AVERROR(ENOMEM);
ret = ff_insert_outpad(ctx, 1, &pad); ret = ff_insert_outpad(ctx, 1, &pad);
if (ret < 0) { if (ret < 0)
av_freep(&pad.name);
return ret; return ret;
}
} }
return 0; return 0;