gl/bufferpool: add api for retrieving the configure gl allocation params
authorMatthew Waters <matthew@centricular.com>
Wed, 17 Mar 2021 02:54:17 +0000 (13:54 +1100)
committerMatthew Waters <matthew@centricular.com>
Wed, 28 Apr 2021 02:44:38 +0000 (12:44 +1000)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1071>

gst-libs/gst/gl/gstglbufferpool.c
gst-libs/gst/gl/gstglbufferpool.h

index ac5b593..7bf7888 100644 (file)
@@ -380,6 +380,31 @@ gst_gl_buffer_pool_finalize (GObject * object)
 }
 
 /**
+ * gst_gl_buffer_pool_get_gl_allocation_params:
+ * @pool: the #GstGLBufferPool
+ *
+ * The returned #GstGLAllocationParams will by %NULL before the first successful
+ * call to gst_buffer_pool_set_config().  Subsequent successful calls to
+ * gst_buffer_pool_set_config() will cause this function to return a new
+ * #GstGLAllocationParams which may or may not contain the same information.
+ *
+ * Returns: (transfer full): a copy of the #GstGLAllocationParams being used by the @pool
+ *
+ * Since: 1.20
+ */
+GstGLAllocationParams *
+gst_gl_buffer_pool_get_gl_allocation_params (GstGLBufferPool * pool)
+{
+  g_return_val_if_fail (GST_IS_GL_BUFFER_POOL (pool), NULL);
+
+  if (pool->priv->gl_params)
+    return gst_gl_allocation_params_copy ((GstGLAllocationParams *) pool->
+        priv->gl_params);
+  else
+    return NULL;
+}
+
+/**
  * gst_buffer_pool_config_get_gl_allocation_params:
  * @config: a buffer pool config
  *
index 06a705d..595eed5 100644 (file)
@@ -70,6 +70,9 @@ GST_GL_API
 GstBufferPool *gst_gl_buffer_pool_new (GstGLContext * context);
 
 GST_GL_API
+GstGLAllocationParams * gst_gl_buffer_pool_get_gl_allocation_params        (GstGLBufferPool * pool);
+
+GST_GL_API
 GstGLAllocationParams * gst_buffer_pool_config_get_gl_allocation_params    (GstStructure * config);
 GST_GL_API
 void                    gst_buffer_pool_config_set_gl_allocation_params    (GstStructure * config,