From da008baac29c3319cc13c0c3b20ce3669820458d Mon Sep 17 00:00:00 2001 From: "U. Artie Eoff" Date: Thu, 5 Mar 2020 13:22:23 -0800 Subject: [PATCH] vaapivideobufferpool: force video meta if sizes are different The strides and offsets could be the same, but the allocation size might be different (e.g. alignment). Thus, ensure we also set the flag to copy from VA memory to system memory when alloc size differs. Fixes #243 --- gst/vaapi/gstvaapivideobufferpool.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gst/vaapi/gstvaapivideobufferpool.c b/gst/vaapi/gstvaapivideobufferpool.c index 082cf91..2de92ea 100644 --- a/gst/vaapi/gstvaapivideobufferpool.c +++ b/gst/vaapi/gstvaapivideobufferpool.c @@ -250,7 +250,9 @@ gst_vaapi_video_buffer_pool_set_config (GstBufferPool * pool, if (GST_VIDEO_INFO_PLANE_OFFSET (&new_allocation_vinfo, i) != GST_VIDEO_INFO_PLANE_OFFSET (&priv->vmeta_vinfo, i) || GST_VIDEO_INFO_PLANE_STRIDE (&new_allocation_vinfo, i) != - GST_VIDEO_INFO_PLANE_STRIDE (&priv->vmeta_vinfo, i)) { + GST_VIDEO_INFO_PLANE_STRIDE (&priv->vmeta_vinfo, i) || + GST_VIDEO_INFO_SIZE (&new_allocation_vinfo) != + GST_VIDEO_INFO_SIZE (&priv->vmeta_vinfo)) { priv->options |= GST_VAAPI_VIDEO_BUFFER_POOL_OPTION_VIDEO_META; priv->forced_video_meta = TRUE; GST_INFO_OBJECT (base_pool, "adding unrequested video meta"); -- 2.7.4