Browse Source

vf_pad: don't give up its own reference to the output buffer.

tags/n1.0
Anton Khirnov 13 years ago
parent
commit
f493c644cd
1 changed files with 4 additions and 1 deletions
  1. +4
    -1
      libavfilter/vf_pad.c

+ 4
- 1
libavfilter/vf_pad.c View File

@@ -303,6 +303,7 @@ static void start_frame(AVFilterLink *inlink, AVFilterBufferRef *inpicref)
{
PadContext *pad = inlink->dst->priv;
AVFilterBufferRef *outpicref = avfilter_ref_buffer(inpicref, ~0);
AVFilterBufferRef *for_next_filter;
int plane;

for (plane = 0; plane < 4 && outpicref->data[plane]; plane++) {
@@ -339,12 +340,14 @@ static void start_frame(AVFilterLink *inlink, AVFilterBufferRef *inpicref)
outpicref->video->w = pad->w;
outpicref->video->h = pad->h;

ff_start_frame(inlink->dst->outputs[0], outpicref);
for_next_filter = avfilter_ref_buffer(outpicref, ~0);
ff_start_frame(inlink->dst->outputs[0], for_next_filter);
}

static void end_frame(AVFilterLink *link)
{
ff_end_frame(link->dst->outputs[0]);
avfilter_unref_buffer(link->dst->outputs[0]->out_buf);
avfilter_unref_buffer(link->cur_buf);
}



Loading…
Cancel
Save