X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Faf_acopy.c;h=29551996d902d7197fe33a31025bd37b66f36d8a;hb=a04ad248a05e7b613abe09b3bb067f555108d794;hp=d8490609663323b7a0c02c1b6cea1c9557d43f92;hpb=217ad40aef9eeeff4e805dec3e980fb16aec3345;p=ffmpeg diff --git a/libavfilter/af_acopy.c b/libavfilter/af_acopy.c index d8490609663..29551996d90 100644 --- a/libavfilter/af_acopy.c +++ b/libavfilter/af_acopy.c @@ -24,15 +24,25 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) { AVFilterLink *outlink = inlink->dst->outputs[0]; AVFrame *out = ff_get_audio_buffer(outlink, in->nb_samples); + int ret; if (!out) { - av_frame_free(&in); - return AVERROR(ENOMEM); + ret = AVERROR(ENOMEM); + goto fail; } - av_frame_copy_props(out, in); - av_frame_copy(out, in); + + ret = av_frame_copy_props(out, in); + if (ret < 0) + goto fail; + ret = av_frame_copy(out, in); + if (ret < 0) + goto fail; av_frame_free(&in); return ff_filter_frame(outlink, out); +fail: + av_frame_free(&in); + av_frame_free(&out); + return ret; } static const AVFilterPad acopy_inputs[] = { @@ -52,7 +62,7 @@ static const AVFilterPad acopy_outputs[] = { { NULL } }; -AVFilter ff_af_acopy = { +const AVFilter ff_af_acopy = { .name = "acopy", .description = NULL_IF_CONFIG_SMALL("Copy the input audio unchanged to the output."), .inputs = acopy_inputs,