libs: va: Add API to peek the va memory's display.
authorHe Junyan <junyan.he@intel.com>
Fri, 4 Nov 2022 12:28:34 +0000 (20:28 +0800)
committerHe Junyan <junyan.he@intel.com>
Sat, 5 Nov 2022 05:39:34 +0000 (13:39 +0800)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322>

subprojects/gst-plugins-bad/gst-libs/gst/va/gstvaallocator.c
subprojects/gst-plugins-bad/gst-libs/gst/va/gstvaallocator.h

index a50d420..8879b4c 100644 (file)
@@ -1960,6 +1960,31 @@ gst_va_memory_get_surface (GstMemory * mem)
 }
 
 /**
+ * gst_va_memory_peek_display:
+ * @mem: a #GstMemory
+ *
+ * Returns: (type #GstVaDisplay) (transfer none): the display which
+ *     this @mem belongs to. The reference of the display is unchanged.
+ *
+ * Since: 1.22
+ */
+GstVaDisplay *
+gst_va_memory_peek_display (GstMemory * mem)
+{
+  GstAllocator *allocator;
+
+  if (!mem)
+    return NULL;
+
+  allocator = GST_MEMORY_CAST (mem)->allocator;
+  /* no allocator, not VA kind memory. */
+  if (!allocator)
+    return NULL;
+
+  return gst_va_allocator_peek_display (allocator);
+}
+
+/**
  * gst_va_buffer_get_surface:
  * @buffer: a #GstBuffer
  *
index 780c21d..b046abf 100644 (file)
@@ -124,6 +124,8 @@ GstVaDisplay *        gst_va_allocator_peek_display       (GstAllocator * alloca
 GST_VA_API
 VASurfaceID           gst_va_memory_get_surface           (GstMemory * mem);
 GST_VA_API
+GstVaDisplay *        gst_va_memory_peek_display          (GstMemory * mem);
+GST_VA_API
 VASurfaceID           gst_va_buffer_get_surface           (GstBuffer * buffer);
 
 GST_VA_API