diff options
-rw-r--r-- | libavfilter/af_aiir.c | 7 |
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; } |