summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVíctor Manuel Jáquez Leal <victorx.jaquez@intel.com>2016-11-04 12:55:23 +0100
committerVíctor Manuel Jáquez Leal <victorx.jaquez@intel.com>2016-11-08 09:51:01 +0100
commitba3a08dd81841e32b188a81e5d67b82dede4ed29 (patch)
treea27877e7e1f8611e3218ec7dc264fdca3cb645a1
parentcd78a7da26ce84ca99d43811d59672e39da10a33 (diff)
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
-rw-r--r--gst/vaapi/gstvaapivideomemory.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gst/vaapi/gstvaapivideomemory.c b/gst/vaapi/gstvaapivideomemory.c
index 0006e490..22201c66 100644
--- a/gst/vaapi/gstvaapivideomemory.c
+++ b/gst/vaapi/gstvaapivideomemory.c
@@ -202,7 +202,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))
@@ -221,6 +221,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);