gl/basesrc: add get_gl_context

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9455>
This commit is contained in:
Matthew Waters 2025-07-29 16:56:36 +10:00 committed by GStreamer Marge Bot
parent 9dca1f4a6f
commit 9522551e1d
3 changed files with 37 additions and 1 deletions

View File

@ -1243,6 +1243,19 @@ current in the calling thread.</doc>
</instance-parameter>
</parameters>
</virtual-method>
<method name="get_gl_context" c:identifier="gst_gl_base_src_get_gl_context" version="1.28">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.c">the configured #GstGLContext.</doc>
<type name="GLContext" c:type="GstGLContext*"/>
</return-value>
<parameters>
<instance-parameter name="base_src" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.c">a #GstGLBaseSrc</doc>
<type name="GLBaseSrc" c:type="GstGLBaseSrc*"/>
</instance-parameter>
</parameters>
</method>
<property name="timestamp-offset" writable="1" transfer-ownership="none" default-value="0">
<type name="gint64" c:type="gint64"/>
</property>

View File

@ -746,3 +746,23 @@ gst_gl_base_src_do_seek (GstBaseSrc * basesrc, GstSegment * segment)
return GST_BASE_SRC_CLASS (parent_class)->do_seek (basesrc, segment);
}
/**
* gst_gl_base_src_get_gl_context:
* @base_src: a #GstGLBaseSrc
*
* Returns: (nullable) (transfer full): the configured #GstGLContext.
* Since: 1.28
*/
GstGLContext *
gst_gl_base_src_get_gl_context (GstGLBaseSrc * base_src)
{
GstGLContext *ret = NULL;
g_rec_mutex_lock (&base_src->priv->context_lock);
if (base_src->context)
ret = gst_object_ref (base_src->context);
g_rec_mutex_unlock (&base_src->priv->context_lock);
return ret;
}

View File

@ -1,4 +1,4 @@
/*
/*
* GStreamer
* Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
* Copyright (C) 2002,2007 David A. Schleef <ds@schleef.org>
@ -95,6 +95,9 @@ struct _GstGLBaseSrcClass {
gpointer _padding[GST_PADDING];
};
GST_GL_API
GstGLContext * gst_gl_base_src_get_gl_context (GstGLBaseSrc *base_src);
G_END_DECLS
#endif /* __GST_GL_BASE_SRC_H__ */