From ae8e5d44f7619863287528b71df115dfce18d2d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Manuel=20J=C3=A1quez=20Leal?= Date: Fri, 4 Nov 2016 12:55:23 +0100 Subject: [PATCH] vaapivideomemory: increment map counter only if succeeded Previously the frame map counter increased independently if the map succeeded or not. This leaded to critical messages and crashes if the frame was unable to be mapped, but the counter increased. This patch increases the map counter only if the map operation occurred. https://bugzilla.gnome.org/show_bug.cgi?id=773939 --- gst/vaapi/gstvaapivideomemory.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gst/vaapi/gstvaapivideomemory.c b/gst/vaapi/gstvaapivideomemory.c index 69745ebb6d..aed272a402 100644 --- a/gst/vaapi/gstvaapivideomemory.c +++ b/gst/vaapi/gstvaapivideomemory.c @@ -239,7 +239,7 @@ gst_video_meta_map_vaapi_memory (GstVideoMeta * meta, guint plane, goto error_incompatible_map; /* Map for writing */ - if (++mem->map_count == 1) { + if (mem->map_count == 0) { if (!ensure_surface (mem)) goto error_ensure_surface; if (!ensure_image (mem)) @@ -258,6 +258,7 @@ gst_video_meta_map_vaapi_memory (GstVideoMeta * meta, guint plane, GST_VAAPI_VIDEO_MEMORY_FLAG_UNSET (mem, GST_VAAPI_VIDEO_MEMORY_FLAG_SURFACE_IS_CURRENT); } + mem->map_count++; *data = gst_vaapi_image_get_plane (mem->image, plane); *stride = gst_vaapi_image_get_pitch (mem->image, plane);