[FFmpeg-devel] [PATCH] overlay: clear cur_buf on main input link.

Nicolas George nicolas.george at normalesup.org
Sun Jul 22 18:20:06 CEST 2012


A reference is kept in the queue and freed after use.

Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
---
 libavfilter/vf_overlay.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavfilter/vf_overlay.c b/libavfilter/vf_overlay.c
index 680e074..a76bd2b 100644
--- a/libavfilter/vf_overlay.c
+++ b/libavfilter/vf_overlay.c
@@ -514,8 +514,10 @@ 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);
+        inlink->cur_buf = NULL;
+    }
 }
 
 static void draw_slice_main(AVFilterLink *inlink, int y, int h, int slice_dir)
-- 
1.7.10.4



More information about the ffmpeg-devel mailing list