With gstreamer-vaapi, the temporay pixmap for front buffer got realloc each time, so when we receive a new pixmap for each frame, get a new front buffer for it.
This also fix Totem player playback corruption. Signed-off-by: Leo Liu <leo....@amd.com> Cc: "12.0" <mesa-sta...@lists.freedesktop.org> --- src/gallium/auxiliary/vl/vl_winsys_dri3.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gallium/auxiliary/vl/vl_winsys_dri3.c b/src/gallium/auxiliary/vl/vl_winsys_dri3.c index c69e677..f7f572e 100644 --- a/src/gallium/auxiliary/vl/vl_winsys_dri3.c +++ b/src/gallium/auxiliary/vl/vl_winsys_dri3.c @@ -358,8 +358,13 @@ dri3_set_drawable(struct vl_dri3_screen *scrn, Drawable drawable) if (error) { if (error->error_code != BadWindow) ret = false; - else + else { scrn->is_pixmap = true; + if (scrn->front_buffer) { + dri3_free_front_buffer(scrn, scrn->front_buffer); + scrn->front_buffer = NULL; + } + } free(error); } else scrn->special_event = -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev