aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas George <nicolas.george@normalesup.org>2012-07-22 17:56:59 +0200
committerNicolas George <nicolas.george@normalesup.org>2012-07-22 18:35:28 +0200
commit9c1d649ce57c2b707b5a2eab47f05dd1833bda22 (patch)
tree6da7594a50b58c473e2ace68394a4bb41f17a5dd
parent1be55c82a5b0ec4c16ab3aba5667ca47f9f169ff (diff)
downloadffmpeg-9c1d649ce57c2b707b5a2eab47f05dd1833bda22.tar.gz
overlay: clear cur_buf on main input link.
A reference is kept in the queue and freed after use.
-rw-r--r--libavfilter/vf_overlay.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libavfilter/vf_overlay.c b/libavfilter/vf_overlay.c
index 680e074019..9f8163d2bf 100644
--- a/libavfilter/vf_overlay.c
+++ b/libavfilter/vf_overlay.c
@@ -514,8 +514,11 @@ static void start_frame_main(AVFilterLink *inlink, AVFilterBufferRef *inpicref)
flush_frames(ctx);
inpicref->pts = av_rescale_q(inpicref->pts, ctx->inputs[MAIN]->time_base,
ctx->outputs[0]->time_base);
- if (try_start_frame(ctx, inpicref) < 0)
+ if (try_start_frame(ctx, inpicref) < 0) {
ff_bufqueue_add(ctx, &over->queue_main, inpicref);
+ av_assert1(inpicref == inlink->cur_buf);
+ inlink->cur_buf = NULL;
+ }
}
static void draw_slice_main(AVFilterLink *inlink, int y, int h, int slice_dir)