From b1da9539dce040a625f4c4774ee54d86d534710b Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Mon, 16 Nov 2015 00:05:29 +0100 Subject: [PATCH] Pipe: fill dispose member Caused leaks in hd-rum-transcoder because capture filter was not calling vf_free but video_frame::dispose on frame (empty then). --- src/video_display/pipe.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/video_display/pipe.cpp b/src/video_display/pipe.cpp index eeb760374..a6190f1aa 100644 --- a/src/video_display/pipe.cpp +++ b/src/video_display/pipe.cpp @@ -90,7 +90,11 @@ static struct video_frame *display_pipe_getf(void *state) { struct state_pipe *s = (struct state_pipe *)state; - return vf_alloc_desc_data(s->desc); + struct video_frame *out = vf_alloc_desc_data(s->desc); + // explicit dispose is needed because we do not process the frame + // by ourselves but it is passed to further processing + out->dispose = vf_free; + return out; } static int display_pipe_putf(void *state, struct video_frame *frame, int flags)