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

Nicolas George git at videolan.org
Sun Jul 22 18:41:26 CEST 2012


ffmpeg | branch: master | Nicolas George <nicolas.george at normalesup.org> | Sun Jul 22 17:56:59 2012 +0200| [9c1d649ce57c2b707b5a2eab47f05dd1833bda22] | committer: Nicolas George

overlay: clear cur_buf on main input link.

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

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9c1d649ce57c2b707b5a2eab47f05dd1833bda22
---

 libavfilter/vf_overlay.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavfilter/vf_overlay.c b/libavfilter/vf_overlay.c
index 680e074..9f8163d 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)



More information about the ffmpeg-cvslog mailing list