From 94f0d9c69befef4a73cb5bfd21f262a4e1c5a5ac Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Wed, 17 Mar 2021 13:54:17 +1100 Subject: [PATCH] gl/bufferpool: add api for retrieving the configure gl allocation params Part-of: --- gst-libs/gst/gl/gstglbufferpool.c | 25 +++++++++++++++++++++++++ gst-libs/gst/gl/gstglbufferpool.h | 3 +++ 2 files changed, 28 insertions(+) diff --git a/gst-libs/gst/gl/gstglbufferpool.c b/gst-libs/gst/gl/gstglbufferpool.c index ac5b5939a6..7bf788884f 100644 --- a/gst-libs/gst/gl/gstglbufferpool.c +++ b/gst-libs/gst/gl/gstglbufferpool.c @@ -379,6 +379,31 @@ gst_gl_buffer_pool_finalize (GObject * object) priv->gl_params = NULL; } +/** + * 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 diff --git a/gst-libs/gst/gl/gstglbufferpool.h b/gst-libs/gst/gl/gstglbufferpool.h index 06a705da94..595eed53ad 100644 --- a/gst-libs/gst/gl/gstglbufferpool.h +++ b/gst-libs/gst/gl/gstglbufferpool.h @@ -69,6 +69,9 @@ struct _GstGLBufferPoolClass 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