vaapi: Add new dmabuf mem type when building caps
authorMengkejiergeli Ba <mengkejiergeli.ba@intel.com>
Fri, 29 Oct 2021 07:08:38 +0000 (15:08 +0800)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 9 Nov 2022 13:41:26 +0000 (13:41 +0000)
Media-driver will return dmabuf mem type GST_VAAPI_BUFFER_MEMORY_TYPE_DMA_BUF2
on the latest platform like Gen12. To enable build caps using dmabuf, need to
add the check for this type at gst_vaapi_build_caps_from_format.

This patch is a portion from Junyan.He@intel.com
https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/393

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1287>

subprojects/gstreamer-vaapi/gst/vaapi/gstvaapipluginutil.c

index 0c47b75..fd8f164 100644 (file)
@@ -1120,7 +1120,9 @@ gst_vaapi_build_caps_from_formats (GArray * formats, gint min_width,
       gst_caps_features_from_string (GST_CAPS_FEATURE_MEMORY_VAAPI_SURFACE));
 
   if (gst_vaapi_mem_type_supports (mem_types,
-          GST_VAAPI_BUFFER_MEMORY_TYPE_DMA_BUF)) {
+          GST_VAAPI_BUFFER_MEMORY_TYPE_DMA_BUF) ||
+      gst_vaapi_mem_type_supports (mem_types,
+          GST_VAAPI_BUFFER_MEMORY_TYPE_DMA_BUF2)) {
     dma_caps = gst_caps_copy (raw_caps);
     gst_caps_set_features_simple (dma_caps,
         gst_caps_features_from_string (GST_CAPS_FEATURE_MEMORY_DMABUF));