Commit 9203fa0b authored by Anton Khirnov's avatar Anton Khirnov

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

parent f493c644
...@@ -121,12 +121,13 @@ static void start_frame(AVFilterLink *inlink, AVFilterBufferRef *inpicref) ...@@ -121,12 +121,13 @@ static void start_frame(AVFilterLink *inlink, AVFilterBufferRef *inpicref)
AVFilterContext *ctx = inlink->dst; AVFilterContext *ctx = inlink->dst;
AVFilterLink *outlink = ctx->outputs[0]; AVFilterLink *outlink = ctx->outputs[0];
AVFilterBufferRef *outpicref; AVFilterBufferRef *outpicref, *for_next_filter;
outpicref = avfilter_ref_buffer(inpicref, ~0); outpicref = avfilter_ref_buffer(inpicref, ~0);
outlink->out_buf = outpicref; outlink->out_buf = outpicref;
ff_start_frame(outlink, outpicref); for_next_filter = avfilter_ref_buffer(outpicref, ~0);
ff_start_frame(outlink, for_next_filter);
} }
static void draw_slice(AVFilterLink *inlink, int y, int h, int slice_dir) static void draw_slice(AVFilterLink *inlink, int y, int h, int slice_dir)
...@@ -213,6 +214,7 @@ static void end_frame(AVFilterLink *inlink) ...@@ -213,6 +214,7 @@ static void end_frame(AVFilterLink *inlink)
ff_end_frame(outlink); ff_end_frame(outlink);
avfilter_unref_buffer(inpicref); avfilter_unref_buffer(inpicref);
avfilter_unref_bufferp(&outlink->out_buf);
} }
AVFilter avfilter_vf_fieldorder = { AVFilter avfilter_vf_fieldorder = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment