diff options
author | Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com> | 2016-11-04 12:55:23 +0100 |
---|---|---|
committer | Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com> | 2016-11-08 09:51:01 +0100 |
commit | ba3a08dd81841e32b188a81e5d67b82dede4ed29 (patch) | |
tree | a27877e7e1f8611e3218ec7dc264fdca3cb645a1 | |
parent | cd78a7da26ce84ca99d43811d59672e39da10a33 (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.c | 3 |
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); |