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)