vf_overlay: don't access a buffer reference that's been given away.
authorAnton Khirnov <anton@khirnov.net>
Sun, 8 Jul 2012 03:34:20 +0000 (05:34 +0200)
committerAnton Khirnov <anton@khirnov.net>
Fri, 20 Jul 2012 19:07:51 +0000 (21:07 +0200)
libavfilter/vf_overlay.c

index 9852853..b9d64b9 100644 (file)
@@ -214,7 +214,6 @@ static void start_frame(AVFilterLink *inlink, AVFilterBufferRef *inpicref)
     AVFilterContext *ctx = inlink->dst;
     OverlayContext *over = ctx->priv;
 
-    inlink->dst->outputs[0]->out_buf = outpicref;
     outpicref->pts = av_rescale_q(outpicref->pts, ctx->inputs[MAIN]->time_base,
                                   ctx->outputs[0]->time_base);
 
@@ -324,7 +323,7 @@ static void draw_slice(AVFilterLink *inlink, int y, int h, int slice_dir)
 {
     AVFilterContext *ctx = inlink->dst;
     AVFilterLink *outlink = ctx->outputs[0];
-    AVFilterBufferRef *outpicref = outlink->out_buf;
+    AVFilterBufferRef *outpicref = inlink->cur_buf;
     OverlayContext *over = ctx->priv;
 
     if (over->overpicref &&