summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavfilter/af_aiir.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libavfilter/af_aiir.c b/libavfilter/af_aiir.c
index 717388f450..89c8936c2f 100644
--- a/libavfilter/af_aiir.c
+++ b/libavfilter/af_aiir.c
@@ -1037,8 +1037,13 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
int64_t new_pts = av_rescale_q(out->pts, ctx->inputs[0]->time_base, outlink->time_base);
if (new_pts > old_pts) {
+ AVFrame *clone;
+
s->video->pts = new_pts;
- ret = ff_filter_frame(outlink, av_frame_clone(s->video));
+ clone = av_frame_clone(s->video);
+ if (!clone)
+ return AVERROR(ENOMEM);
+ ret = ff_filter_frame(outlink, clone);
if (ret < 0)
return ret;
}