summaryrefslogtreecommitdiff
path: root/girs/GstGL-1.0.gir
diff options
context:
space:
mode:
Diffstat (limited to 'girs/GstGL-1.0.gir')
-rw-r--r--girs/GstGL-1.0.gir11089
1 files changed, 11089 insertions, 0 deletions
diff --git a/girs/GstGL-1.0.gir b/girs/GstGL-1.0.gir
new file mode 100644
index 0000000000..8c9f84166f
--- /dev/null
+++ b/girs/GstGL-1.0.gir
@@ -0,0 +1,11089 @@
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
+ <include name="Gst" version="1.0"/>
+ <include name="GstBase" version="1.0"/>
+ <include name="GstVideo" version="1.0"/>
+ <package name="gstreamer-gl-1.0"/>
+ <c:include name="gst/gl/gl.h"/>
+ <namespace name="GstGL" version="1.0" shared-library="libgstgl-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst">
+ <constant name="BUFFER_POOL_OPTION_GL_SYNC_META" value="GstBufferPoolOptionGLSyncMeta" c:type="GST_BUFFER_POOL_OPTION_GL_SYNC_META">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h">An option that can be activated on bufferpools to request OpenGL
+synchronization metadata on buffers from the pool.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_2D" value="GstBufferPoolOptionGLTextureTarget2D" c:type="GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_2D">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">String used for %GST_GL_TEXTURE_TARGET_2D as a #GstBufferPool pool option</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_EXTERNAL_OES" value="GstBufferPoolOptionGLTextureTargetExternalOES" c:type="GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_EXTERNAL_OES">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">String used for %GST_GL_TEXTURE_TARGET_EXTERNAL_OES as a #GstBufferPool pool option</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_RECTANGLE" value="GstBufferPoolOptionGLTextureTargetRectangle" c:type="GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_RECTANGLE">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">String used for %GST_GL_TEXTURE_TARGET_RECTANGLE as a #GstBufferPool pool option</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="CAPS_FEATURE_MEMORY_GL_BUFFER" value="memory:GLBuffer" c:type="GST_CAPS_FEATURE_MEMORY_GL_BUFFER">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h">Name of the caps feature indicating the use of GL buffers</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="CAPS_FEATURE_MEMORY_GL_MEMORY" value="memory:GLMemory" c:type="GST_CAPS_FEATURE_MEMORY_GL_MEMORY">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">Name of the caps feature for indicating the use of #GstGLMemory</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <bitfield name="GLAPI" glib:type-name="GstGLAPI" glib:get-type="gst_gl_api_get_type" c:type="GstGLAPI">
+ <member name="none" value="0" c:identifier="GST_GL_API_NONE" glib:nick="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">no API</doc>
+ </member>
+ <member name="opengl" value="1" c:identifier="GST_GL_API_OPENGL" glib:nick="opengl">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">Desktop OpenGL up to and including 3.1. The
+ compatibility profile when the OpenGL version is &gt;= 3.2</doc>
+ </member>
+ <member name="opengl3" value="2" c:identifier="GST_GL_API_OPENGL3" glib:nick="opengl3">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">Desktop OpenGL &gt;= 3.2 core profile</doc>
+ </member>
+ <member name="gles1" value="32768" c:identifier="GST_GL_API_GLES1" glib:nick="gles1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">OpenGL ES 1.x</doc>
+ </member>
+ <member name="gles2" value="65536" c:identifier="GST_GL_API_GLES2" glib:nick="gles2">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">OpenGL ES 2.x and 3.x</doc>
+ </member>
+ <member name="any" value="4294967295" c:identifier="GST_GL_API_ANY" glib:nick="any">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">Any OpenGL API</doc>
+ </member>
+ <function name="from_string" c:identifier="gst_gl_api_from_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">The #GstGLAPI represented by @api_s</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </return-value>
+ <parameters>
+ <parameter name="api_s" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">a space separated string of OpenGL apis</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_string" c:identifier="gst_gl_api_to_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">A space separated string of the OpenGL api's enabled in @api</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="api" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">a #GstGLAPI to stringify</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </parameter>
+ </parameters>
+ </function>
+ </bitfield>
+ <record name="GLAllocationParams" c:type="GstGLAllocationParams" glib:type-name="GstGLAllocationParams" glib:get-type="gst_gl_allocation_params_get_type" c:symbol-prefix="gl_allocation_params">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <field name="struct_size" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the size of the struct (including and subclass data)</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="copy" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLAllocationParamsCopyFunc</doc>
+ <type name="GLAllocationParamsCopyFunc" c:type="GstGLAllocationParamsCopyFunc"/>
+ </field>
+ <field name="free" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLAllocationParamsFreeFunc</doc>
+ <type name="GLAllocationParamsFreeFunc" c:type="GstGLAllocationParamsFreeFunc"/>
+ </field>
+ <field name="alloc_flags" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">allocation flags</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="alloc_size" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the allocation size</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="alloc_params" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the #GstAllocationParams</doc>
+ <type name="Gst.AllocationParams" c:type="GstAllocationParams*"/>
+ </field>
+ <field name="context" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </field>
+ <field name="notify" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GDestroyNotify</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="user_data" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">argument to call @notify with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="wrapped_data" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the wrapped data pointer</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="gl_handle" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the wrapped OpenGL handle</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="copy" c:identifier="gst_gl_allocation_params_copy" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">a copy of the #GstGLAllocationParams specified by
+ @src</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the #GstGLAllocationParams to initialize</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="copy_data" c:identifier="gst_gl_allocation_params_copy_data" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">Copies the dynamically allocated data from @src to @dest. Direct subclasses
+should call this function in their own overridden copy function.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the source #GstGLAllocationParams</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams*"/>
+ </instance-parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the destination #GstGLAllocationParams</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_gl_allocation_params_free" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">Frees the #GstGLAllocationParams and all associated data.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="params" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the #GstGLAllocationParams to initialize</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free_data" c:identifier="gst_gl_allocation_params_free_data" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">Frees the dynamically allocated data in @params. Direct subclasses
+should call this function in their own overridden free function.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="params" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the source #GstGLAllocationParams</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_gl_allocation_params_init" version="1.8" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">@notify will be called once for each allocated memory using these @params
+when freeing the memory.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">whether the parameters could be initialized</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="params" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the #GstGLAllocationParams to initialize</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams*"/>
+ </instance-parameter>
+ <parameter name="struct_size" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the struct size of the implementation</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="alloc_flags" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">some alloc flags</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="copy" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">a copy function</doc>
+ <type name="GLAllocationParamsCopyFunc" c:type="GstGLAllocationParamsCopyFunc"/>
+ </parameter>
+ <parameter name="free" transfer-ownership="none" scope="notified" closure="9" destroy="10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">a free function</doc>
+ <type name="GLAllocationParamsFreeFunc" c:type="GstGLAllocationParamsFreeFunc"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="alloc_size" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the number of bytes to allocate.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="alloc_params" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">a #GstAllocationParams to apply</doc>
+ <type name="Gst.AllocationParams" c:type="const GstAllocationParams*"/>
+ </parameter>
+ <parameter name="wrapped_data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">a sysmem data pointer to initialize the allocation with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="gl_handle" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">a GL handle to initialize the allocation with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">user data to call @notify with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" nullable="1" allow-none="1" scope="async">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">a #GDestroyNotify</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <callback name="GLAllocationParamsCopyFunc" c:type="GstGLAllocationParamsCopyFunc">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">Copies the parameters from @src into @dest. The subclass must compose copy
+functions from the superclass.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the source #GstGLAllocationParams to copy from</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams*"/>
+ </parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the source #GstGLAllocationParams to copy</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="GLAllocationParamsFreeFunc" c:type="GstGLAllocationParamsFreeFunc">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">Free any dynamically allocated data. The subclass must call the superclass'
+free.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLAllocationParams</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="GLAsyncDebug" c:type="GstGLAsyncDebug">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h">#GstGLAsyncDebug an opaque structure and should only be accessed through the
+provided API.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h"/>
+ <field name="state_flags" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="cat" readable="0" private="1">
+ <type name="Gst.DebugCategory" c:type="GstDebugCategory*"/>
+ </field>
+ <field name="level" readable="0" private="1">
+ <type name="Gst.DebugLevel" c:type="GstDebugLevel"/>
+ </field>
+ <field name="file" readable="0" private="1">
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="function" readable="0" private="1">
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="line" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="object" readable="0" private="1">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </field>
+ <field name="debug_msg" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="callback" readable="0" private="1">
+ <type name="GLAsyncDebugLogGetMessage" c:type="GstGLAsyncDebugLogGetMessage"/>
+ </field>
+ <field name="user_data" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="notify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="free" c:identifier="gst_gl_async_debug_free" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">Frees @ad</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ad" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">a #GstGLAsyncDebug</doc>
+ <type name="GLAsyncDebug" c:type="GstGLAsyncDebug*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="freeze" c:identifier="gst_gl_async_debug_freeze" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">freeze the debug output. While frozen, any call to
+gst_gl_async_debug_output_log_msg() will not output any messages but
+subsequent calls to gst_gl_async_debug_store_log_msg() will overwrite previous
+messages.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ad" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">a #GstGLAsyncDebug</doc>
+ <type name="GLAsyncDebug" c:type="GstGLAsyncDebug*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_gl_async_debug_init" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">Initialize @ad. Intended for use with #GstGLAsyncDebug's that are embedded
+in other structs.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ad" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">a #GstGLAsyncDebug</doc>
+ <type name="GLAsyncDebug" c:type="GstGLAsyncDebug*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="output_log_msg" c:identifier="gst_gl_async_debug_output_log_msg">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">Outputs a previously stored debug message.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ad" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">the #GstGLAsyncDebug to store the message in</doc>
+ <type name="GLAsyncDebug" c:type="GstGLAsyncDebug*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="store_log_msg" c:identifier="gst_gl_async_debug_store_log_msg" version="1.8" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">Stores a debug message for later output by gst_gl_async_debug_output_log_msg()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ad" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">the #GstGLAsyncDebug to store the message in</doc>
+ <type name="GLAsyncDebug" c:type="GstGLAsyncDebug*"/>
+ </instance-parameter>
+ <parameter name="cat" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">the #GstDebugCategory to output the message in</doc>
+ <type name="Gst.DebugCategory" c:type="GstDebugCategory*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">the #GstDebugLevel</doc>
+ <type name="Gst.DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">the file where the debug message originates from</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="function" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">the function where the debug message originates from</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="line" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">the line in @file where the debug message originates from</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">a #GObject to associate with the debug message</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">a printf style format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">the list of arguments for @format</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="store_log_msg_valist" c:identifier="gst_gl_async_debug_store_log_msg_valist" version="1.8" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">Stores a debug message for later output by gst_gl_async_debug_output_log_msg()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ad" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">the #GstGLAsyncDebug to store the message in</doc>
+ <type name="GLAsyncDebug" c:type="GstGLAsyncDebug*"/>
+ </instance-parameter>
+ <parameter name="cat" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">the #GstDebugCategory to output the message in</doc>
+ <type name="Gst.DebugCategory" c:type="GstDebugCategory*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">the #GstDebugLevel</doc>
+ <type name="Gst.DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">the file where the debug message originates from</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="function" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">the function where the debug message originates from</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="line" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">the line in @file where the debug message originates from</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">a #GObject to associate with the debug message</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">a printf style format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="varargs" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">the list of arguments for @format</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="thaw" c:identifier="gst_gl_async_debug_thaw" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">unfreeze the debug output. See gst_gl_async_debug_freeze() for what freezing means</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ad" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">a #GstGLAsyncDebug</doc>
+ <type name="GLAsyncDebug" c:type="GstGLAsyncDebug*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="unset" c:identifier="gst_gl_async_debug_unset">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">Unset any dynamically allocated data. Intended for use with
+#GstGLAsyncDebug's that are embedded in other structs.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ad" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">a #GstGLAsyncDebug</doc>
+ <type name="GLAsyncDebug" c:type="GstGLAsyncDebug*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="new" c:identifier="gst_gl_async_debug_new" version="1.8" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">Free with gst_gl_async_debug_free()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h"/>
+ <return-value>
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">a new #GstGLAsyncDebug</doc>
+ <type name="GLAsyncDebug" c:type="GstGLAsyncDebug*"/>
+ </return-value>
+ </function>
+ </record>
+ <callback name="GLAsyncDebugLogGetMessage" c:type="GstGLAsyncDebugLogGetMessage">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h"/>
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="0">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="GLBaseFilter" c:symbol-prefix="gl_base_filter" c:type="GstGLBaseFilter" parent="GstBase.BaseTransform" glib:type-name="GstGLBaseFilter" glib:get-type="gst_gl_base_filter_get_type" glib:type-struct="GLBaseFilterClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.c">#GstGLBaseFilter handles the nitty gritty details of retrieving an OpenGL
+context. It also provided some wrappers around #GstBaseTransform's
+`start()`, `stop()` and `set_caps()` virtual methods that ensure an OpenGL
+context is available and current in the calling thread.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h"/>
+ <virtual-method name="gl_set_caps">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <type name="GLBaseFilter" c:type="GstGLBaseFilter*"/>
+ </instance-parameter>
+ <parameter name="incaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="outcaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="gl_start">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <type name="GLBaseFilter" c:type="GstGLBaseFilter*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="gl_stop">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <type name="GLBaseFilter" c:type="GstGLBaseFilter*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="find_gl_context" c:identifier="gst_gl_base_filter_find_gl_context" version="1.16">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.c">Whether an OpenGL context could be retrieved or created successfully</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.c">a #GstGLBaseFilter</doc>
+ <type name="GLBaseFilter" c:type="GstGLBaseFilter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_gl_context" c:identifier="gst_gl_base_filter_get_gl_context" version="1.18">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.c">the #GstGLContext found by @filter</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.c">a #GstGLBaseFilter</doc>
+ <type name="GLBaseFilter" c:type="GstGLBaseFilter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="context" transfer-ownership="none">
+ <type name="GLContext"/>
+ </property>
+ <field name="parent">
+ <type name="GstBase.BaseTransform" c:type="GstBaseTransform"/>
+ </field>
+ <field name="display">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h">the currently configured #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </field>
+ <field name="context">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h">the currently configured #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </field>
+ <field name="in_caps">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h">the currently configured input #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="out_caps">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h">the currently configured output #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GLBaseFilterPrivate" c:type="GstGLBaseFilterPrivate*"/>
+ </field>
+ </class>
+ <record name="GLBaseFilterClass" c:type="GstGLBaseFilterClass" glib:is-gtype-struct-for="GLBaseFilter">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h">The base class for GStreamer GL Filter.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h"/>
+ <field name="parent_class">
+ <type name="GstBase.BaseTransformClass" c:type="GstBaseTransformClass"/>
+ </field>
+ <field name="supported_gl_api">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h">the logical-OR of #GstGLAPI's supported by this element</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </field>
+ <field name="gl_start">
+ <callback name="gl_start">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="GLBaseFilter" c:type="GstGLBaseFilter*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="gl_stop">
+ <callback name="gl_stop">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="GLBaseFilter" c:type="GstGLBaseFilter*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="gl_set_caps">
+ <callback name="gl_set_caps">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="GLBaseFilter" c:type="GstGLBaseFilter*"/>
+ </parameter>
+ <parameter name="incaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="outcaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="GLBaseFilterPrivate" c:type="GstGLBaseFilterPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_fwd.h"/>
+ </record>
+ <record name="GLBaseMemory" c:type="GstGLBaseMemory" glib:type-name="GstGLBaseMemory" glib:get-type="gst_gl_base_memory_get_type" c:symbol-prefix="gl_base_memory">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">GstGLBaseMemory is a #GstMemory subclass providing the basis of support
+for the mapping of GL buffers.
+
+Data is uploaded or downloaded from the GPU as is necessary.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <field name="mem" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the parent object</doc>
+ <type name="Gst.Memory" c:type="GstMemory"/>
+ </field>
+ <field name="context" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the #GstGLContext to use for GL operations</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </field>
+ <field name="lock" writable="1">
+ <type name="GLib.Mutex" c:type="GMutex"/>
+ </field>
+ <field name="map_flags" writable="1">
+ <type name="Gst.MapFlags" c:type="GstMapFlags"/>
+ </field>
+ <field name="map_count" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="gl_map_count" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="data" writable="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="query" writable="1">
+ <type name="GLQuery" c:type="GstGLQuery*"/>
+ </field>
+ <field name="alloc_size" readable="0" private="1">
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="alloc_data" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="notify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="user_data" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="alloc_data" c:identifier="gst_gl_base_memory_alloc_data">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">Note: only intended for subclass usage to allocate the system memory buffer
+on demand. If there is already a non-NULL data pointer in @gl_mem-&gt;data,
+then this function imply returns TRUE.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">whether the system memory could be allocated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">a #GstGLBaseMemory</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_gl_base_memory_init" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">Initializes @mem with the required parameters</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the #GstGLBaseMemory to initialize</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory*"/>
+ </instance-parameter>
+ <parameter name="allocator" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the #GstAllocator to initialize with</doc>
+ <type name="Gst.Allocator" c:type="GstAllocator*"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the parent #GstMemory to initialize with</doc>
+ <type name="Gst.Memory" c:type="GstMemory*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the #GstGLContext to initialize with</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the @GstAllocationParams to initialize with</doc>
+ <type name="Gst.AllocationParams" c:type="const GstAllocationParams*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the number of bytes to be allocated</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">user data to call @notify with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" nullable="1" allow-none="1" scope="async">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">a #GDestroyNotify</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="memcpy" c:identifier="gst_gl_base_memory_memcpy" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">whether the copy succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the source #GstGLBaseMemory</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory*"/>
+ </instance-parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the destination #GstGLBaseMemory</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the offset to start at</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the number of bytes to copy</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="alloc" c:identifier="gst_gl_base_memory_alloc" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">a new #GstGLBaseMemory from @allocator with the requested @params.</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory*"/>
+ </return-value>
+ <parameters>
+ <parameter name="allocator" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">a #GstGLBaseMemoryAllocator</doc>
+ <type name="GLBaseMemoryAllocator" c:type="GstGLBaseMemoryAllocator*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the #GstGLAllocationParams to allocate the memory with</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="init_once" c:identifier="gst_gl_base_memory_init_once" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">Initializes the GL Base Memory allocator. It is safe to call this function
+multiple times. This must be called before any other GstGLBaseMemory operation.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ </record>
+ <class name="GLBaseMemoryAllocator" c:symbol-prefix="gl_base_memory_allocator" c:type="GstGLBaseMemoryAllocator" version="1.8" parent="Gst.Allocator" abstract="1" glib:type-name="GstGLBaseMemoryAllocator" glib:get-type="gst_gl_base_memory_allocator_get_type" glib:type-struct="GLBaseMemoryAllocatorClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">Opaque #GstGLBaseMemoryAllocator struct</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <virtual-method name="alloc">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a newly allocated #GstGLBaseMemory from @allocator and @params</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="allocator" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLBaseMemoryAllocator</doc>
+ <type name="GLBaseMemoryAllocator" c:type="GstGLBaseMemoryAllocator*"/>
+ </instance-parameter>
+ <parameter name="params" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the #GstGLAllocationParams to allocate the memory with</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <field name="parent" readable="0" private="1">
+ <type name="Gst.Allocator" c:type="GstAllocator"/>
+ </field>
+ <field name="fallback_mem_copy" readable="0" private="1">
+ <type name="Gst.MemoryCopyFunction" c:type="GstMemoryCopyFunction"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <callback name="GLBaseMemoryAllocatorAllocFunction" c:type="GstGLBaseMemoryAllocatorAllocFunction" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">Note: not called with a GL context current</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a newly allocated #GstGLBaseMemory from @allocator and @params</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory*"/>
+ </return-value>
+ <parameters>
+ <parameter name="allocator" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLBaseMemoryAllocator</doc>
+ <type name="GLBaseMemoryAllocator" c:type="GstGLBaseMemoryAllocator*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the #GstGLAllocationParams to allocate the memory with</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="GLBaseMemoryAllocatorClass" c:type="GstGLBaseMemoryAllocatorClass" glib:is-gtype-struct-for="GLBaseMemoryAllocator" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <field name="parent_class">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the parent class</doc>
+ <type name="Gst.AllocatorClass" c:type="GstAllocatorClass"/>
+ </field>
+ <field name="alloc">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLBaseMemoryAllocatorAllocFunction</doc>
+ <type name="GLBaseMemoryAllocatorAllocFunction" c:type="GstGLBaseMemoryAllocatorAllocFunction"/>
+ </field>
+ <field name="create">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLBaseMemoryAllocatorCreateFunction</doc>
+ <type name="GLBaseMemoryAllocatorCreateFunction" c:type="GstGLBaseMemoryAllocatorCreateFunction"/>
+ </field>
+ <field name="map">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLBaseMemoryAllocatorMapFunction</doc>
+ <type name="GLBaseMemoryAllocatorMapFunction" c:type="GstGLBaseMemoryAllocatorMapFunction"/>
+ </field>
+ <field name="unmap">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLBaseMemoryAllocatorUnmapFunction</doc>
+ <type name="GLBaseMemoryAllocatorUnmapFunction" c:type="GstGLBaseMemoryAllocatorUnmapFunction"/>
+ </field>
+ <field name="copy">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLBaseMemoryAllocatorCopyFunction</doc>
+ <type name="GLBaseMemoryAllocatorCopyFunction" c:type="GstGLBaseMemoryAllocatorCopyFunction"/>
+ </field>
+ <field name="destroy">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLBaseMemoryAllocatorDestroyFunction</doc>
+ <type name="GLBaseMemoryAllocatorDestroyFunction" c:type="GstGLBaseMemoryAllocatorDestroyFunction"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="GLBaseMemoryAllocatorCopyFunction" c:type="GstGLBaseMemoryAllocatorCopyFunction" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">Also see gst_memory_copy();</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the newly copied #GstGLMemory or %NULL</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLBaseMemory</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the offset to copy from</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the number of bytes to copy</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="GLBaseMemoryAllocatorCreateFunction" c:type="GstGLBaseMemoryAllocatorCreateFunction" version="1.8" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">As this virtual method is called with an OpenGL context current, use this
+function to allocate and OpenGL resources needed for your application</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">whether the creation succeeded</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLBaseMemory</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="GLBaseMemoryAllocatorDestroyFunction" c:type="GstGLBaseMemoryAllocatorDestroyFunction" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">Destroy any resources allocated throughout the lifetime of @mem</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLBaseMemory</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="GLBaseMemoryAllocatorMapFunction" c:type="GstGLBaseMemoryAllocatorMapFunction" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">Also see gst_memory_map();</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the mapped pointer</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLBaseMemory</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory*"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstMapInfo to map with</doc>
+ <type name="Gst.MapInfo" c:type="GstMapInfo*"/>
+ </parameter>
+ <parameter name="maxsize" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the size to map</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="GLBaseMemoryAllocatorUnmapFunction" c:type="GstGLBaseMemoryAllocatorUnmapFunction" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">Also see gst_memory_unmap();</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstGLBaseMemory</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory*"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a #GstMapInfo to map with</doc>
+ <type name="Gst.MapInfo" c:type="GstMapInfo*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="GLBaseMemoryError" glib:type-name="GstGLBaseMemoryError" glib:get-type="gst_gl_base_memory_error_get_type" c:type="GstGLBaseMemoryError" glib:error-domain="gst-gl-base-memory-error-quark">
+ <member name="failed" value="0" c:identifier="GST_GL_BASE_MEMORY_ERROR_FAILED" glib:nick="failed">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">generic failure</doc>
+ </member>
+ <member name="old_libs" value="1" c:identifier="GST_GL_BASE_MEMORY_ERROR_OLD_LIBS" glib:nick="old-libs">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the implementation is too old and doesn't
+ implement enough features</doc>
+ </member>
+ <member name="resource_unavailable" value="2" c:identifier="GST_GL_BASE_MEMORY_ERROR_RESOURCE_UNAVAILABLE" glib:nick="resource-unavailable">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">a resource could not be found</doc>
+ </member>
+ <function name="quark" c:identifier="gst_gl_base_memory_error_quark">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the quark used for #GstGLBaseMemory in #GError's</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ </enumeration>
+ <bitfield name="GLBaseMemoryTransfer" glib:type-name="GstGLBaseMemoryTransfer" glib:get-type="gst_gl_base_memory_transfer_get_type" c:type="GstGLBaseMemoryTransfer">
+ <member name="download" value="1048576" c:identifier="GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD" glib:nick="download">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the texture needs downloading
+ to the data pointer</doc>
+ </member>
+ <member name="upload" value="2097152" c:identifier="GST_GL_BASE_MEMORY_TRANSFER_NEED_UPLOAD" glib:nick="upload">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">the data pointer needs uploading
+ to the texture</doc>
+ </member>
+ </bitfield>
+ <class name="GLBaseSrc" c:symbol-prefix="gl_base_src" c:type="GstGLBaseSrc" version="1.18" parent="GstBase.PushSrc" abstract="1" glib:type-name="GstGLBaseSrc" glib:get-type="gst_gl_base_src_get_type" glib:type-struct="GLBaseSrcClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.c">#GstGLBaseSrc handles the nitty gritty details of retrieving an OpenGL
+context. It also provided some wrappers around #GstBaseSrc's `start()` and
+`stop()` virtual methods that ensure an OpenGL context is available and
+current in the calling thread.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
+ <virtual-method name="fill_gl_memory">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="GLBaseSrc" c:type="GstGLBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="mem" transfer-ownership="none">
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="gl_start">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="GLBaseSrc" c:type="GstGLBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="gl_stop">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="GLBaseSrc" c:type="GstGLBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <property name="timestamp-offset" writable="1" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <field name="parent">
+ <type name="GstBase.PushSrc" c:type="GstPushSrc"/>
+ </field>
+ <field name="display">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h">the currently configured #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </field>
+ <field name="context">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h">the currently configured #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </field>
+ <field name="out_info">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h">the currently configured output #GstVideoInfo</doc>
+ <type name="GstVideo.VideoInfo" c:type="GstVideoInfo"/>
+ </field>
+ <field name="out_caps">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h">the currently configured output #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="running_time">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h">the total running time</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GLBaseSrcPrivate" c:type="GstGLBaseSrcPrivate*"/>
+ </field>
+ </class>
+ <record name="GLBaseSrcClass" c:type="GstGLBaseSrcClass" glib:is-gtype-struct-for="GLBaseSrc" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h">The base class for GStreamer GL Video sources.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
+ <field name="parent_class">
+ <type name="GstBase.PushSrcClass" c:type="GstPushSrcClass"/>
+ </field>
+ <field name="supported_gl_api">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h">the logical-OR of #GstGLAPI's supported by this element</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </field>
+ <field name="gl_start">
+ <callback name="gl_start">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="GLBaseSrc" c:type="GstGLBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="gl_stop">
+ <callback name="gl_stop">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="GLBaseSrc" c:type="GstGLBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="fill_gl_memory">
+ <callback name="fill_gl_memory">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="GLBaseSrc" c:type="GstGLBaseSrc*"/>
+ </parameter>
+ <parameter name="mem" transfer-ownership="none">
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="GLBaseSrcPrivate" c:type="GstGLBaseSrcPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_fwd.h"/>
+ </record>
+ <record name="GLBuffer" c:type="GstGLBuffer" glib:type-name="GstGLBuffer" glib:get-type="gst_gl_buffer_get_type" c:symbol-prefix="gl_buffer">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.c">GstGLBuffer is a #GstMemory subclass providing support for the mapping of
+GL buffers.
+
+Data is uploaded or downloaded from the GPU as is necessary.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <field name="mem" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h">the parent object</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory"/>
+ </field>
+ <field name="id" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h">the buffer id for this memory</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="target" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h">the OpenGL target of this texture for binding purposes</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="usage_hints" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h">the OpenGL usage hints this buffer was created with</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <function name="init_once" c:identifier="gst_gl_buffer_init_once" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.c">Initializes the GL Buffer allocator. It is safe to call this function
+multiple times. This must be called before any other #GstGLBuffer operation.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ </record>
+ <record name="GLBufferAllocationParams" c:type="GstGLBufferAllocationParams" glib:type-name="GstGLBufferAllocationParams" glib:get-type="gst_gl_buffer_allocation_params_get_type" c:symbol-prefix="gl_buffer_allocation_params">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <field name="parent" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h">parent object</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams"/>
+ </field>
+ <field name="gl_target" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h">the OpenGL target to bind the buffer to</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="gl_usage" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h">the OpenGL usage hint to create the buffer with</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <constructor name="new" c:identifier="gst_gl_buffer_allocation_params_new" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.c">a new #GstGLBufferAllocationParams for allocating OpenGL buffer
+ objects</doc>
+ <type name="GLBufferAllocationParams" c:type="GstGLBufferAllocationParams*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="alloc_size" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.c">the size in bytes to allocate</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="alloc_params" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.c">the #GstAllocationParams for @tex_id</doc>
+ <type name="Gst.AllocationParams" c:type="const GstAllocationParams*"/>
+ </parameter>
+ <parameter name="gl_target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.c">the OpenGL target to allocate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="gl_usage" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.c">the OpenGL usage hint to allocate with</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ </record>
+ <class name="GLBufferAllocator" c:symbol-prefix="gl_buffer_allocator" c:type="GstGLBufferAllocator" parent="GLBaseMemoryAllocator" glib:type-name="GstGLBufferAllocator" glib:get-type="gst_gl_buffer_allocator_get_type" glib:type-struct="GLBufferAllocatorClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h">Opaque #GstGLBufferAllocator struct</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <field name="parent">
+ <type name="GLBaseMemoryAllocator" c:type="GstGLBaseMemoryAllocator"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="GLBufferAllocatorClass" c:type="GstGLBufferAllocatorClass" glib:is-gtype-struct-for="GLBufferAllocator">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h">The #GstGLBufferAllocatorClass only contains private data</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <field name="parent_class">
+ <type name="GLBaseMemoryAllocatorClass" c:type="GstGLBaseMemoryAllocatorClass"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="GLBufferPool" c:symbol-prefix="gl_buffer_pool" c:type="GstGLBufferPool" parent="Gst.BufferPool" glib:type-name="GstGLBufferPool" glib:get-type="gst_gl_buffer_pool_get_type" glib:type-struct="GLBufferPoolClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.c">a #GstGLBufferPool is an object that allocates buffers with #GstGLBaseMemory
+
+A #GstGLBufferPool is created with gst_gl_buffer_pool_new()
+
+#GstGLBufferPool implements the VideoMeta buffer pool option
+%GST_BUFFER_POOL_OPTION_VIDEO_META, the VideoAligment buffer pool option
+%GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT as well as the OpenGL specific
+%GST_BUFFER_POOL_OPTION_GL_SYNC_META buffer pool option.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.h"/>
+ <constructor name="new" c:identifier="gst_gl_buffer_pool_new">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.c">a #GstBufferPool that allocates buffers with #GstGLMemory</doc>
+ <type name="Gst.BufferPool" c:type="GstBufferPool*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.c">the #GstGLContext to use</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="get_gl_allocation_params" c:identifier="gst_gl_buffer_pool_get_gl_allocation_params" version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.c">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.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.c">a copy of the #GstGLAllocationParams being used by the @pool</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.c">the #GstGLBufferPool</doc>
+ <type name="GLBufferPool" c:type="GstGLBufferPool*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <field name="bufferpool">
+ <type name="Gst.BufferPool" c:type="GstBufferPool"/>
+ </field>
+ <field name="context">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GLBufferPoolPrivate" c:type="GstGLBufferPoolPrivate*"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="GLBufferPoolClass" c:type="GstGLBufferPoolClass" glib:is-gtype-struct-for="GLBufferPool">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.h">The #GstGLBufferPoolClass structure contains only private data</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.h"/>
+ <field name="parent_class">
+ <type name="Gst.BufferPoolClass" c:type="GstBufferPoolClass"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="GLBufferPoolPrivate" c:type="GstGLBufferPoolPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_fwd.h"/>
+ </record>
+ <class name="GLColorConvert" c:symbol-prefix="gl_color_convert" c:type="GstGLColorConvert" parent="Gst.Object" glib:type-name="GstGLColorConvert" glib:get-type="gst_gl_color_convert_get_type" glib:type-struct="GLColorConvertClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">#GstGLColorConvert is an object that converts between color spaces and/or
+formats using OpenGL Shaders.
+
+A #GstGLColorConvert can be created with gst_gl_color_convert_new(), the
+configuration negotiated with gst_gl_color_convert_transform_caps() and the
+conversion performed with gst_gl_color_convert_perform().
+
+The glcolorconvertelement provides a GStreamer element that uses
+#GstGLColorConvert to convert between video formats and color spaces.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <constructor name="new" c:identifier="gst_gl_color_convert_new" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">a new #GstGLColorConvert object</doc>
+ <type name="GLColorConvert" c:type="GstGLColorConvert*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="fixate_caps" c:identifier="gst_gl_color_convert_fixate_caps" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">Provides an implementation of #GstBaseTransformClass.fixate_caps()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">the fixated #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">a #GstGLContext to use for transforming @caps</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">a #GstPadDirection</doc>
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">the #GstCaps of @direction</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="other" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">the #GstCaps to fixate</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="transform_caps" c:identifier="gst_gl_color_convert_transform_caps" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">Provides an implementation of #GstBaseTransformClass.transform_caps()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">the converted #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">a #GstGLContext to use for transforming @caps</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">a #GstPadDirection</doc>
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">the #GstCaps to transform</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">a set of filter #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="decide_allocation" c:identifier="gst_gl_color_convert_decide_allocation" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">Provides an implementation of #GstBaseTransformClass.decide_allocation()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">whether the allocation parameters were successfully chosen</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">a #GstGLColorConvert</doc>
+ <type name="GLColorConvert" c:type="GstGLColorConvert*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">a completed ALLOCATION #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="perform" c:identifier="gst_gl_color_convert_perform" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">Converts the data contained by @inbuf using the formats specified by the
+#GstCaps passed to gst_gl_color_convert_set_caps()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">a converted #GstBuffer or %NULL</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">a #GstGLColorConvert</doc>
+ <type name="GLColorConvert" c:type="GstGLColorConvert*"/>
+ </instance-parameter>
+ <parameter name="inbuf" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">the #GstGLMemory filled #GstBuffer to convert</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_caps" c:identifier="gst_gl_color_convert_set_caps" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">Initializes @convert with the information required for conversion.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">a #GstGLColorConvert</doc>
+ <type name="GLColorConvert" c:type="GstGLColorConvert*"/>
+ </instance-parameter>
+ <parameter name="in_caps" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">input #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="out_caps" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.c">output #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent" readable="0" private="1">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="context" readable="0" private="1">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </field>
+ <field name="in_info" readable="0" private="1">
+ <type name="GstVideo.VideoInfo" c:type="GstVideoInfo"/>
+ </field>
+ <field name="out_info" readable="0" private="1">
+ <type name="GstVideo.VideoInfo" c:type="GstVideoInfo"/>
+ </field>
+ <field name="initted" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="passthrough" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="inbuf" readable="0" private="1">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="outbuf" readable="0" private="1">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="fbo" readable="0" private="1">
+ <type name="GLFramebuffer" c:type="GstGLFramebuffer*"/>
+ </field>
+ <field name="shader" readable="0" private="1">
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GLColorConvertPrivate" c:type="GstGLColorConvertPrivate*"/>
+ </field>
+ <field name="_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="GLColorConvertClass" c:type="GstGLColorConvertClass" glib:is-gtype-struct-for="GLColorConvert">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h">The #GstGLColorConvertClass struct only contains private data</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <field name="object_class" readable="0" private="1">
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="GLColorConvertPrivate" c:type="GstGLColorConvertPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_fwd.h"/>
+ </record>
+ <enumeration name="GLConfigCaveat" version="1.20" glib:type-name="GstGLConfigCaveat" glib:get-type="gst_gl_config_caveat_get_type" c:type="GstGLConfigCaveat">
+ <member name="none" value="0" c:identifier="GST_GL_CONFIG_CAVEAT_NONE" glib:nick="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h">none</doc>
+ </member>
+ <member name="slow" value="1" c:identifier="GST_GL_CONFIG_CAVEAT_SLOW" glib:nick="slow">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h">slow</doc>
+ </member>
+ <member name="non_conformant" value="2" c:identifier="GST_GL_CONFIG_CAVEAT_NON_CONFORMANT" glib:nick="non-conformant">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h">non-conformant</doc>
+ </member>
+ <function name="to_string" c:identifier="gst_gl_config_caveat_to_string" version="1.20">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.c">a string version of @caveat or %NULL if @caveat does not
+ exist.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caveat" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.c">the #GstGLConfigCaveat</doc>
+ <type name="GLConfigCaveat" c:type="GstGLConfigCaveat"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <bitfield name="GLConfigSurfaceType" version="1.20" glib:type-name="GstGLConfigSurfaceType" glib:get-type="gst_gl_config_surface_type_get_type" c:type="GstGLConfigSurfaceType">
+ <member name="none" value="0" c:identifier="GST_GL_CONFIG_SURFACE_TYPE_NONE" glib:nick="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h">none</doc>
+ </member>
+ <member name="window" value="1" c:identifier="GST_GL_CONFIG_SURFACE_TYPE_WINDOW" glib:nick="window">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h">window</doc>
+ </member>
+ <member name="pbuffer" value="2" c:identifier="GST_GL_CONFIG_SURFACE_TYPE_PBUFFER" glib:nick="pbuffer">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h">pbuffer</doc>
+ </member>
+ <member name="pixmap" value="4" c:identifier="GST_GL_CONFIG_SURFACE_TYPE_PIXMAP" glib:nick="pixmap">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h">pixmap</doc>
+ </member>
+ <function name="to_string" c:identifier="gst_gl_config_surface_type_to_string" version="1.20">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.c">a string version of @caveat or %NULL if @surface_type does not
+ exist.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="surface_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.c">the #GstGLConfigSurfaceType</doc>
+ <type name="GLConfigSurfaceType" c:type="GstGLConfigSurfaceType"/>
+ </parameter>
+ </parameters>
+ </function>
+ </bitfield>
+ <class name="GLContext" c:symbol-prefix="gl_context" c:type="GstGLContext" parent="Gst.Object" abstract="1" glib:type-name="GstGLContext" glib:get-type="gst_gl_context_get_type" glib:type-struct="GLContextClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">#GstGLContext wraps an OpenGL context object in a uniform API. As a result
+of the limitation on OpenGL context, this object is not thread safe unless
+specified and must only be activated in a single thread.
+
+Environment variables:
+- `GST_GL_API`: select which OpenGL API to create and OpenGL context for.
+ Depending on the platform, the available values are
+ 'opengl', 'opengl3' (core profile), and 'gles2'. See the
+ the #GstGLAPI enumeration for more details.
+- `GST_GL_PLATFORM`: select which OpenGL platform to create an OpenGL
+ context with. Depending on the platform and the
+ dependencies available build-time, the available values
+ are, 'glx', 'egl', 'cgl', 'wgl', and 'eagl'
+- `GST_GL_CONFIG`: select the configuration used for creating the OpenGL
+ context and OpenGL surface. Written out as a GstStructure
+ that has been serialized to string. e.g.
+ `GST_GL_CONFIG="gst-gl-context-config,red-size=8,green-size=8,blue-size=8,alpha-size=8,depth-size=16"`.
+ Not all platforms will support the same level of
+ functionality.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <constructor name="new" c:identifier="gst_gl_context_new" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Create a new #GstGLContext with the specified @display</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a new #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </return-value>
+ <parameters>
+ <parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_wrapped" c:identifier="gst_gl_context_new_wrapped" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Wraps an existing OpenGL context into a #GstGLContext.
+
+Note: The caller is responsible for ensuring that the OpenGL context
+represented by @handle stays alive while the returned #GstGLContext is
+active.
+
+@context_type must not be %GST_GL_PLATFORM_NONE or %GST_GL_PLATFORM_ANY
+
+@available_apis must not be %GST_GL_API_NONE or %GST_GL_API_ANY</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext wrapping @handle</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </return-value>
+ <parameters>
+ <parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </parameter>
+ <parameter name="handle" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the OpenGL context to wrap</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </parameter>
+ <parameter name="context_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLPlatform specifying the type of context in @handle</doc>
+ <type name="GLPlatform" c:type="GstGLPlatform"/>
+ </parameter>
+ <parameter name="available_apis" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLAPI containing the available OpenGL apis in @handle</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="default_get_proc_address" c:identifier="gst_gl_context_default_get_proc_address" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">A default implementation of the various GetProcAddress functions that looks
+for @name in the OpenGL shared libraries or in the current process.
+
+See also: gst_gl_context_get_proc_address()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">an address pointing to @name or %NULL</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="gl_api" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLAPI</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">then function to get the address of</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_current" c:identifier="gst_gl_context_get_current" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">See also gst_gl_context_activate().</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the #GstGLContext active in the current thread or %NULL</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </return-value>
+ </function>
+ <function name="get_current_gl_api" c:identifier="gst_gl_context_get_current_gl_api" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">If an error occurs, @major and @minor are not modified and %GST_GL_API_NONE is
+returned.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">The version supported by the OpenGL context current in the calling
+ thread or %GST_GL_API_NONE</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </return-value>
+ <parameters>
+ <parameter name="platform" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the #GstGLPlatform to retrieve the API for</doc>
+ <type name="GLPlatform" c:type="GstGLPlatform"/>
+ </parameter>
+ <parameter name="major" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the major version</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="minor" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the minor version</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_current_gl_context" c:identifier="gst_gl_context_get_current_gl_context" version="1.6">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">The OpenGL context handle current in the calling thread or %NULL</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </return-value>
+ <parameters>
+ <parameter name="context_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLPlatform specifying the type of context to retrieve</doc>
+ <type name="GLPlatform" c:type="GstGLPlatform"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_proc_address_with_platform" c:identifier="gst_gl_context_get_proc_address_with_platform" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Attempts to use the @context_type specific GetProcAddress implementations
+to retrieve @name.
+
+See also gst_gl_context_get_proc_address().</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a function pointer for @name, or %NULL</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="context_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLPlatform</doc>
+ <type name="GLPlatform" c:type="GstGLPlatform"/>
+ </parameter>
+ <parameter name="gl_api" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLAPI</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the name of the function to retrieve</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="activate" invoker="activate" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">(De)activate the OpenGL context represented by this @context.
+
+In OpenGL terms, calls eglMakeCurrent or similar with this context and the
+currently set window. See gst_gl_context_set_window() for details.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Whether the activation succeeded</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="activate" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">%TRUE to activate, %FALSE to deactivate</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="check_feature" invoker="check_feature" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Check for an OpenGL @feature being supported.
+
+Note: Most features require that the context be created before it is
+possible to determine their existence and so will fail if that is not the
+case.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Whether @feature is supported by @context</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a platform specific feature</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="choose_format" throws="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="create_context" throws="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="gl_api" transfer-ownership="none">
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </parameter>
+ <parameter name="other_context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="destroy_context">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_config" invoker="get_config" version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Retrieve the OpenGL configuration for this context. The context must
+have been successfully created for this function to return a valid value.
+
+Not all implementations currently support retrieving the config and will
+return %NULL when not supported.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the configuration chosen for this OpenGL context.</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_gl_api" invoker="get_gl_api" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Get the currently enabled OpenGL api.
+
+The currently available API may be limited by the #GstGLDisplay in use and/or
+the #GstGLWindow chosen.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the available OpenGL api</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_gl_context" invoker="get_gl_context" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Gets the backing OpenGL context used by @context.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">The platform specific backing OpenGL context</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext:</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_gl_platform" invoker="get_gl_platform" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Gets the OpenGL platform that used by @context.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">The platform specific backing OpenGL context</doc>
+ <type name="GLPlatform" c:type="GstGLPlatform"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext:</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_gl_platform_version" invoker="get_gl_platform_version">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Get the version of the OpenGL platform (GLX, EGL, etc) used. Only valid
+after a call to gst_gl_context_create().</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="major" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">return for the major version</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="minor" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">return for the minor version</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="request_config" invoker="request_config" version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Set the OpenGL configuration for this context. The context must not
+have been created for this function to succeed. Setting a %NULL
+@config has the affect of removing any specific configuration request.
+
+Not all implementations currently support retrieving the config and this
+function will return FALSE when not supported.
+
+Note that calling this function may cause a subsequent
+gst_gl_context_create() to fail if @config could not be matched with
+the platform-specific configuration.
+
+Note that the actual config used may be differ from the requested values.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">whether @gl_config could be successfully set on @context</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="gl_config" transfer-ownership="full" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a configuration structure for
+ configuring the OpenGL context</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="swap_buffers" invoker="swap_buffers">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Swap the front and back buffers on the window attached to @context.
+This will display the frame on the next refresh cycle.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="activate" c:identifier="gst_gl_context_activate" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">(De)activate the OpenGL context represented by this @context.
+
+In OpenGL terms, calls eglMakeCurrent or similar with this context and the
+currently set window. See gst_gl_context_set_window() for details.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Whether the activation succeeded</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="activate" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">%TRUE to activate, %FALSE to deactivate</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="can_share" c:identifier="gst_gl_context_can_share" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Note: This will always fail for two wrapped #GstGLContext's</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">whether @context and @other_context are able to share OpenGL
+ resources.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="other_context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">another #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="check_feature" c:identifier="gst_gl_context_check_feature" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Check for an OpenGL @feature being supported.
+
+Note: Most features require that the context be created before it is
+possible to determine their existence and so will fail if that is not the
+case.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Whether @feature is supported by @context</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a platform specific feature</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="check_framebuffer_status" c:identifier="gst_gl_context_check_framebuffer_status" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">Must be called with @context current.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">whether whether the current framebuffer is complete</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="fbo_target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">the GL value of the framebuffer target, GL_FRAMEBUFFER,
+ GL_READ_FRAMEBUFFER, GL_DRAW_FRAMEBUFFER</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="check_gl_version" c:identifier="gst_gl_context_check_gl_version" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">whether OpenGL context implements the required api and specified
+version.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="api" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">api type required</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </parameter>
+ <parameter name="maj" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">major version required</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="min" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">minor version required</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="clear_framebuffer" c:identifier="gst_gl_context_clear_framebuffer" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">Unbind the current framebuffer</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="clear_shader" c:identifier="gst_gl_context_clear_shader">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Clear's the currently set shader from the GL state machine.
+
+Note: must be called in the GL thread.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="create" c:identifier="gst_gl_context_create" version="1.4" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Creates an OpenGL context with the specified @other_context as a context
+to share shareable OpenGL objects with. See the OpenGL specification for
+what is shared between OpenGL contexts.
+
+Since 1.20, the configuration can be overriden with the environment variable
+`GST_GL_CONFIG` which is a stringified #GstStructure as would be returned
+from gst_gl_context_get_config(). If `GST_GL_CONFIG` is not set, then the
+config will be chosen from @other_context by calling
+gst_gl_context_get_config() on @other_context. Otherwise, a default
+configuration is used.
+
+Calling gst_gl_context_request_config()) before calling
+gst_gl_context_create() will override the config from @other_context but
+will not override the `GST_GL_CONFIG` environment variable.
+
+If an error occurs, and @error is not %NULL, then @error will contain
+details of the error and %FALSE will be returned.
+
+Should only be called once.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">whether the context could successfully be created</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext:</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="other_context" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext to share OpenGL objects with</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="destroy" c:identifier="gst_gl_context_destroy" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Destroys an OpenGL context.
+
+Should only be called after gst_gl_context_create() has been successfully
+called for this context.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext:</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="fill_info" c:identifier="gst_gl_context_fill_info" version="1.6" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Fills @context's info (version, extensions, vtable, etc) from the GL
+context in the current thread. Typically used with wrapped contexts to
+allow wrapped contexts to be used as regular #GstGLContext's.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext:</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_config" c:identifier="gst_gl_context_get_config" version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Retrieve the OpenGL configuration for this context. The context must
+have been successfully created for this function to return a valid value.
+
+Not all implementations currently support retrieving the config and will
+return %NULL when not supported.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the configuration chosen for this OpenGL context.</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_display" c:identifier="gst_gl_context_get_display" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the #GstGLDisplay associated with this @context</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext:</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_gl_api" c:identifier="gst_gl_context_get_gl_api" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Get the currently enabled OpenGL api.
+
+The currently available API may be limited by the #GstGLDisplay in use and/or
+the #GstGLWindow chosen.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the available OpenGL api</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_gl_context" c:identifier="gst_gl_context_get_gl_context" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Gets the backing OpenGL context used by @context.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">The platform specific backing OpenGL context</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext:</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_gl_platform" c:identifier="gst_gl_context_get_gl_platform" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Gets the OpenGL platform that used by @context.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">The platform specific backing OpenGL context</doc>
+ <type name="GLPlatform" c:type="GstGLPlatform"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext:</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_gl_platform_version" c:identifier="gst_gl_context_get_gl_platform_version">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Get the version of the OpenGL platform (GLX, EGL, etc) used. Only valid
+after a call to gst_gl_context_create().</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="major" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">return for the major version</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="minor" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">return for the minor version</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_gl_version" c:identifier="gst_gl_context_get_gl_version" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Returns the OpenGL version implemented by @context. See
+gst_gl_context_get_gl_api() for retrieving the OpenGL api implemented by
+@context.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="maj" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">resulting major version</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="min" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">resulting minor version</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_proc_address" c:identifier="gst_gl_context_get_proc_address" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Get a function pointer to a specified opengl function, @name. If the the
+specific function does not exist, NULL is returned instead.
+
+Platform specific functions (names starting 'egl', 'glX', 'wgl', etc) can also
+be retrieved using this method.
+
+Note: This function may return valid function pointers that may not be valid
+to call in @context. The caller is responsible for ensuring that the
+returned function is a valid function to call in @context by either checking
+the OpenGL API and version or for an appropriate OpenGL extension.
+
+Note: On success, you need to cast the returned function pointer to the
+correct type to be able to call it correctly. On 32-bit Windows, this will
+include the `GSTGLAPI` identifier to use the correct calling convention.
+e.g.
+
+|[&lt;!-- language="C" --&gt;
+void (GSTGLAPI *PFN_glGetIntegerv) (GLenum name, GLint * ret)
+]|</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a function pointer or %NULL</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">an opengl function name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_thread" c:identifier="gst_gl_context_get_thread" version="1.6">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">The #GThread, @context is current in or NULL</doc>
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_window" c:identifier="gst_gl_context_get_window" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the currently set window</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_shared" c:identifier="gst_gl_context_is_shared" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Whether the #GstGLContext has been shared with another #GstGLContext</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="request_config" c:identifier="gst_gl_context_request_config" version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Set the OpenGL configuration for this context. The context must not
+have been created for this function to succeed. Setting a %NULL
+@config has the affect of removing any specific configuration request.
+
+Not all implementations currently support retrieving the config and this
+function will return FALSE when not supported.
+
+Note that calling this function may cause a subsequent
+gst_gl_context_create() to fail if @config could not be matched with
+the platform-specific configuration.
+
+Note that the actual config used may be differ from the requested values.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">whether @gl_config could be successfully set on @context</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="gl_config" transfer-ownership="full" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a configuration structure for
+ configuring the OpenGL context</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_shared_with" c:identifier="gst_gl_context_set_shared_with" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Will internally set @context as shared with @share</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a wrapped #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="share" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">another #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_window" c:identifier="gst_gl_context_set_window" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Set's the current window on @context to @window. The window can only be
+changed before gst_gl_context_create() has been called and the @window is not
+already running.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Whether the window was successfully updated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="window" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="supports_glsl_profile_version" c:identifier="gst_gl_context_supports_glsl_profile_version">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">Whether @context supports the combination of @version with @profile</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLSLProfile</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="supports_precision" c:identifier="gst_gl_context_supports_precision" version="1.16">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">whether @context supports the 'precision' specifier in GLSL shaders</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLSLProfile</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="supports_precision_highp" c:identifier="gst_gl_context_supports_precision_highp" version="1.16">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">whether @context supports the 'precision highp' specifier in GLSL shaders</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLSLProfile</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="swap_buffers" c:identifier="gst_gl_context_swap_buffers">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Swap the front and back buffers on the window attached to @context.
+This will display the frame on the next refresh cycle.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="thread_add" c:identifier="gst_gl_context_thread_add" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Execute @func in the OpenGL thread of @context with @data
+
+MT-safe</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </instance-parameter>
+ <parameter name="func" transfer-ownership="none" scope="call" closure="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContextThreadFunc</doc>
+ <type name="GLContextThreadFunc" c:type="GstGLContextThreadFunc"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">user data to call @func with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent" readable="0" private="1">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="display" readable="0" private="1">
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </field>
+ <field name="window" readable="0" private="1">
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </field>
+ <field name="gl_vtable">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h">a list of OpenGL function pointers</doc>
+ <type name="GLFuncs" c:type="GstGLFuncs*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GLContextPrivate" c:type="GstGLContextPrivate*"/>
+ </field>
+ <field name="_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="GLContextClass" c:type="GstGLContextClass" glib:is-gtype-struct-for="GLContext">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <field name="parent_class">
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="get_current_context">
+ <callback name="get_current_context">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="guintptr" c:type="guintptr"/>
+ </return-value>
+ </callback>
+ </field>
+ <field name="get_gl_context">
+ <callback name="get_gl_context">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">The platform specific backing OpenGL context</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext:</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_gl_api">
+ <callback name="get_gl_api">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the available OpenGL api</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_gl_platform">
+ <callback name="get_gl_platform">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">The platform specific backing OpenGL context</doc>
+ <type name="GLPlatform" c:type="GstGLPlatform"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext:</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_proc_address">
+ <callback name="get_proc_address">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="gl_api" transfer-ownership="none">
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="activate">
+ <callback name="activate">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Whether the activation succeeded</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="activate" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">%TRUE to activate, %FALSE to deactivate</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="choose_format">
+ <callback name="choose_format" throws="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="create_context">
+ <callback name="create_context" throws="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="gl_api" transfer-ownership="none">
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </parameter>
+ <parameter name="other_context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="destroy_context">
+ <callback name="destroy_context">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="swap_buffers">
+ <callback name="swap_buffers">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="check_feature">
+ <callback name="check_feature">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">Whether @feature is supported by @context</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a platform specific feature</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_gl_platform_version">
+ <callback name="get_gl_platform_version">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="major" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">return for the major version</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="minor" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">return for the minor version</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_config">
+ <callback name="get_config">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the configuration chosen for this OpenGL context.</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="request_config">
+ <callback name="request_config">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">whether @gl_config could be successfully set on @context</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="gl_config" transfer-ownership="full" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">a configuration structure for
+ configuring the OpenGL context</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="GLContextError" glib:type-name="GstGLContextError" glib:get-type="gst_gl_context_error_get_type" c:type="GstGLContextError" glib:error-domain="gst-gl-context-error-quark">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h">OpenGL context errors.</doc>
+ <member name="failed" value="0" c:identifier="GST_GL_CONTEXT_ERROR_FAILED" glib:nick="failed">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h">Failed for an unspecified reason</doc>
+ </member>
+ <member name="wrong_config" value="1" c:identifier="GST_GL_CONTEXT_ERROR_WRONG_CONFIG" glib:nick="wrong-config">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h">The configuration requested is not correct</doc>
+ </member>
+ <member name="wrong_api" value="2" c:identifier="GST_GL_CONTEXT_ERROR_WRONG_API" glib:nick="wrong-api">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h">The OpenGL API requested is not correct</doc>
+ </member>
+ <member name="old_libs" value="3" c:identifier="GST_GL_CONTEXT_ERROR_OLD_LIBS" glib:nick="old-libs">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h">The OpenGL libraries are too old</doc>
+ </member>
+ <member name="create_context" value="4" c:identifier="GST_GL_CONTEXT_ERROR_CREATE_CONTEXT" glib:nick="create-context">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h">glXCreateContext (or similar) failed</doc>
+ </member>
+ <member name="resource_unavailable" value="5" c:identifier="GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE" glib:nick="resource-unavailable">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h">A resource is not available</doc>
+ </member>
+ <function name="quark" c:identifier="gst_gl_context_error_quark">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the quark used for #GstGLContext in #GError's</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ </enumeration>
+ <record name="GLContextPrivate" c:type="GstGLContextPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_fwd.h"/>
+ </record>
+ <callback name="GLContextThreadFunc" c:type="GstGLContextThreadFunc">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h">Represents a function to run in the GL thread with @context and @data</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="GLDisplay" c:symbol-prefix="gl_display" c:type="GstGLDisplay" parent="Gst.Object" glib:type-name="GstGLDisplay" glib:get-type="gst_gl_display_get_type" glib:type-struct="GLDisplayClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">#GstGLDisplay represents a connection to the underlying windowing system.
+Elements are required to make use of #GstContext to share and propagate
+a #GstGLDisplay.
+
+There are a number of environment variables that influence the choice of
+platform and window system specific functionality.
+- GST_GL_WINDOW influences the window system to use. Common values are
+ 'x11', 'wayland', 'win32' or 'cocoa'.
+- GST_GL_PLATFORM influences the OpenGL platform to use. Common values are
+ 'egl', 'glx', 'wgl' or 'cgl'.
+- GST_GL_API influences the OpenGL API requested by the OpenGL platform.
+ Common values are 'opengl', 'opengl3' and 'gles2'.
+
+&gt; Certain window systems require a special function to be called to
+&gt; initialize threading support. As this GStreamer GL library does not preclude
+&gt; concurrent access to the windowing system, it is strongly advised that
+&gt; applications ensure that threading support has been initialized before any
+&gt; other toolkit/library functionality is accessed. Failure to do so could
+&gt; result in sudden application abortion during execution. The most notably
+&gt; example of such a function is X11's XInitThreads\().</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <constructor name="new" c:identifier="gst_gl_display_new" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a new #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_with_type" c:identifier="gst_gl_display_new_with_type" version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">Will always return a #GstGLDisplay of a single type. This differs from
+gst_gl_display_new() and the seemingly equivalent call
+gst_gl_display_new_with_type (GST_GL_DISPLAY_TYPE_ANY) in that the latter
+may return NULL.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a new #GstGLDisplay or %NULL if @type is
+ not supported</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">#GstGLDisplayType</doc>
+ <type name="GLDisplayType" c:type="GstGLDisplayType"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <virtual-method name="create_window" invoker="create_window">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a new #GstGLWindow for @display or %NULL.</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_handle" invoker="get_handle" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">the native handle for the display</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_context" c:identifier="gst_gl_display_add_context" version="1.6">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">whether @context was successfully added. %FALSE may be returned
+if there already exists another context for @context's active thread.
+
+Must be called with the object lock held.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_context" c:identifier="gst_gl_display_create_context" version="1.6" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">It requires the display's object lock to be held.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">whether a new context could be created.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ <parameter name="other_context" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">other #GstGLContext to share resources with.</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="p_context" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">resulting #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_window" c:identifier="gst_gl_display_create_window">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a new #GstGLWindow for @display or %NULL.</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="ensure_context" c:identifier="gst_gl_display_ensure_context" version="1.24" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">Ensures that the display has a valid GL context for the current thread. If
+@context already contains a valid context, this does nothing.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">wether @context contains a valid context.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ <parameter name="other_context" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">other #GstGLContext to share resources with.</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="context" direction="inout" caller-allocates="0" transfer-ownership="full" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">the resulting #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="filter_gl_api" c:identifier="gst_gl_display_filter_gl_api">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">limit the use of OpenGL to the requested @gl_api. This is intended to allow
+application and elements to request a specific set of OpenGL API's based on
+what they support. See gst_gl_context_get_gl_api() for the retrieving the
+API supported by a #GstGLContext.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ <parameter name="gl_api" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLAPI to filter with</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_window" c:identifier="gst_gl_display_find_window" version="1.12" deprecated="1" deprecated-version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">Execute @compare_func over the list of windows stored by @display. The
+first argument to @compare_func is the #GstGLWindow being checked and the
+second argument is @data.</doc>
+ <doc-deprecated xml:space="preserve">Use gst_gl_display_retrieve_window() instead.</doc-deprecated>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">The first #GstGLWindow that causes a match
+ from @compare_func</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">some data to pass to @compare_func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="compare_func" transfer-ownership="none" scope="call">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a comparison function to run</doc>
+ <type name="GLib.CompareFunc" c:type="GCompareFunc"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_gl_api" c:identifier="gst_gl_display_get_gl_api">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">see gst_gl_display_filter_gl_api() for what the returned value represents</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">the #GstGLAPI configured for @display</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_gl_api_unlocked" c:identifier="gst_gl_display_get_gl_api_unlocked">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="none">
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_gl_context_for_thread" c:identifier="gst_gl_display_get_gl_context_for_thread" version="1.6">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">the #GstGLContext current on @thread or %NULL
+
+Must be called with the object lock held.</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ <parameter name="thread" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GThread</doc>
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_handle" c:identifier="gst_gl_display_get_handle" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">the native handle for the display</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_handle_type" c:identifier="gst_gl_display_get_handle_type" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">the #GstGLDisplayType of @display</doc>
+ <type name="GLDisplayType" c:type="GstGLDisplayType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_context" c:identifier="gst_gl_display_remove_context" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">Must be called with the object lock held.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">the #GstGLContext to remove</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_window" c:identifier="gst_gl_display_remove_window" version="1.12">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">if @window could be removed from @display</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLWindow to remove</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="retrieve_window" c:identifier="gst_gl_display_retrieve_window" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">Execute @compare_func over the list of windows stored by @display. The
+first argument to @compare_func is the #GstGLWindow being checked and the
+second argument is @data.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">The first #GstGLWindow that causes a match
+ from @compare_func</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">some data to pass to @compare_func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="compare_func" transfer-ownership="none" scope="call">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a comparison function to run</doc>
+ <type name="GLib.CompareFunc" c:type="GCompareFunc"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object" readable="0" private="1">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="type" readable="0" private="1">
+ <type name="GLDisplayType" c:type="GstGLDisplayType"/>
+ </field>
+ <field name="windows" readable="0" private="1">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="main_context" readable="0" private="1">
+ <type name="GLib.MainContext" c:type="GMainContext*"/>
+ </field>
+ <field name="main_loop" readable="0" private="1">
+ <type name="GLib.MainLoop" c:type="GMainLoop*"/>
+ </field>
+ <field name="event_source" readable="0" private="1">
+ <type name="GLib.Source" c:type="GSource*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GLDisplayPrivate" c:type="GstGLDisplayPrivate*"/>
+ </field>
+ <glib:signal name="create-context" when="last">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">Overrides the @GstGLContext creation mechanism.
+It can be called in any thread and it is emitted with
+display's object lock held.</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">the new context.</doc>
+ <type name="GLContext"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">other context to share resources with.</doc>
+ <type name="GLContext"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="GLDisplayClass" c:type="GstGLDisplayClass" glib:is-gtype-struct-for="GLDisplay">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <field name="object_class">
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="get_handle">
+ <callback name="get_handle">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">the native handle for the display</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </return-value>
+ <parameters>
+ <parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="create_window">
+ <callback name="create_window">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a new #GstGLWindow for @display or %NULL.</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </return-value>
+ <parameters>
+ <parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="GLDisplayPrivate" c:type="GstGLDisplayPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_fwd.h"/>
+ </record>
+ <bitfield name="GLDisplayType" glib:type-name="GstGLDisplayType" glib:get-type="gst_gl_display_type_get_type" c:type="GstGLDisplayType">
+ <member name="none" value="0" c:identifier="GST_GL_DISPLAY_TYPE_NONE" glib:nick="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">no display type</doc>
+ </member>
+ <member name="x11" value="1" c:identifier="GST_GL_DISPLAY_TYPE_X11" glib:nick="x11">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">X11 display</doc>
+ </member>
+ <member name="wayland" value="2" c:identifier="GST_GL_DISPLAY_TYPE_WAYLAND" glib:nick="wayland">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">Wayland display</doc>
+ </member>
+ <member name="cocoa" value="4" c:identifier="GST_GL_DISPLAY_TYPE_COCOA" glib:nick="cocoa">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">Cocoa display</doc>
+ </member>
+ <member name="win32" value="8" c:identifier="GST_GL_DISPLAY_TYPE_WIN32" glib:nick="win32">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">Win32 display</doc>
+ </member>
+ <member name="dispmanx" value="16" c:identifier="GST_GL_DISPLAY_TYPE_DISPMANX" glib:nick="dispmanx">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">Dispmanx display</doc>
+ </member>
+ <member name="egl" value="32" c:identifier="GST_GL_DISPLAY_TYPE_EGL" glib:nick="egl">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">EGL display</doc>
+ </member>
+ <member name="viv_fb" value="64" c:identifier="GST_GL_DISPLAY_TYPE_VIV_FB" glib:nick="viv-fb">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">Vivante Framebuffer display</doc>
+ </member>
+ <member name="gbm" value="128" c:identifier="GST_GL_DISPLAY_TYPE_GBM" glib:nick="gbm">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">Mesa3D GBM display</doc>
+ </member>
+ <member name="egl_device" value="256" c:identifier="GST_GL_DISPLAY_TYPE_EGL_DEVICE" glib:nick="egl-device">
+ </member>
+ <member name="eagl" value="512" c:identifier="GST_GL_DISPLAY_TYPE_EAGL" glib:nick="eagl">
+ </member>
+ <member name="winrt" value="1024" c:identifier="GST_GL_DISPLAY_TYPE_WINRT" glib:nick="winrt">
+ </member>
+ <member name="android" value="2048" c:identifier="GST_GL_DISPLAY_TYPE_ANDROID" glib:nick="android">
+ </member>
+ <member name="any" value="4294967295" c:identifier="GST_GL_DISPLAY_TYPE_ANY" glib:nick="any">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">any display type</doc>
+ </member>
+ </bitfield>
+ <class name="GLFilter" c:symbol-prefix="gl_filter" c:type="GstGLFilter" parent="GLBaseFilter" glib:type-name="GstGLFilter" glib:get-type="gst_gl_filter_get_type" glib:type-struct="GLFilterClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">#GstGLFilter helps to implement simple OpenGL filter elements taking a
+single input and producing a single output with a #GstGLFramebuffer</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <function name="add_rgba_pad_templates" c:identifier="gst_gl_filter_add_rgba_pad_templates">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="klass" transfer-ownership="none">
+ <type name="GLFilterClass" c:type="GstGLFilterClass*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="filter">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <type name="GLFilter" c:type="GstGLFilter*"/>
+ </instance-parameter>
+ <parameter name="inbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="filter_texture" invoker="filter_texture" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">Calls filter_texture vfunc with correctly mapped #GstGLMemorys</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">whether the transformation succeeded</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">a #GstGLFilter</doc>
+ <type name="GLFilter" c:type="GstGLFilter*"/>
+ </instance-parameter>
+ <parameter name="input" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">an input buffer</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </parameter>
+ <parameter name="output" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">an output buffer</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="init_fbo">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <type name="GLFilter" c:type="GstGLFilter*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_caps">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <type name="GLFilter" c:type="GstGLFilter*"/>
+ </instance-parameter>
+ <parameter name="incaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="outcaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transform_internal_caps">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <type name="GLFilter" c:type="GstGLFilter*"/>
+ </instance-parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="filter_caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="draw_fullscreen_quad" c:identifier="gst_gl_filter_draw_fullscreen_quad" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">Render a fullscreen quad using the current GL state. The only GL state this
+modifies is the necessary vertex/index buffers and, if necessary, a
+Vertex Array Object for drawing a fullscreen quad. Framebuffer state,
+any shaders, viewport state, etc must be setup by the caller.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">a #GstGLFilter</doc>
+ <type name="GLFilter" c:type="GstGLFilter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="filter_texture" c:identifier="gst_gl_filter_filter_texture" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">Calls filter_texture vfunc with correctly mapped #GstGLMemorys</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">whether the transformation succeeded</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">a #GstGLFilter</doc>
+ <type name="GLFilter" c:type="GstGLFilter*"/>
+ </instance-parameter>
+ <parameter name="input" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">an input buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="output" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">an output buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="render_to_target" c:identifier="gst_gl_filter_render_to_target" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">Transforms @input into @output using @func on through FBO.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">the return value of @func</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">a #GstGLFilter</doc>
+ <type name="GLFilter" c:type="GstGLFilter*"/>
+ </instance-parameter>
+ <parameter name="input" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">the input texture</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </parameter>
+ <parameter name="output" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">the output texture</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" scope="call" closure="3">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">the function to transform @input into @output. called with @data</doc>
+ <type name="GLFilterRenderFunc" c:type="GstGLFilterRenderFunc"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">the data associated with @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="render_to_target_with_shader" c:identifier="gst_gl_filter_render_to_target_with_shader" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">Transforms @input into @output using @shader with a FBO.
+
+See also: gst_gl_filter_render_to_target()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">a #GstGLFilter</doc>
+ <type name="GLFilter" c:type="GstGLFilter*"/>
+ </instance-parameter>
+ <parameter name="input" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">the input texture</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </parameter>
+ <parameter name="output" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">the output texture</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </parameter>
+ <parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">the shader to use.</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="GLBaseFilter" c:type="GstGLBaseFilter"/>
+ </field>
+ <field name="in_info">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h">the video info for input buffers</doc>
+ <type name="GstVideo.VideoInfo" c:type="GstVideoInfo"/>
+ </field>
+ <field name="out_info">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h">the video info for output buffers</doc>
+ <type name="GstVideo.VideoInfo" c:type="GstVideoInfo"/>
+ </field>
+ <field name="in_texture_target">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h">The texture target of the input buffers (usually 2D)</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </field>
+ <field name="out_texture_target">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h">The texture target of the output buffers (usually 2D)</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </field>
+ <field name="out_caps">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h">the output #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="fbo">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h">#GstGLFramebuffer object used for transformations (only for subclass usage)</doc>
+ <type name="GLFramebuffer" c:type="GstGLFramebuffer*"/>
+ </field>
+ <field name="gl_result" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="inbuf" readable="0" private="1">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="outbuf" readable="0" private="1">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="default_shader" readable="0" private="1">
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </field>
+ <field name="valid_attributes" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="vao" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="vbo_indices" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="vertex_buffer" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="draw_attr_position_loc" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="draw_attr_texture_loc" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="GLFilterClass" c:type="GstGLFilterClass" glib:is-gtype-struct-for="GLFilter">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <field name="parent_class">
+ <type name="GLBaseFilterClass" c:type="GstGLBaseFilterClass"/>
+ </field>
+ <field name="set_caps">
+ <callback name="set_caps">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="GLFilter" c:type="GstGLFilter*"/>
+ </parameter>
+ <parameter name="incaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="outcaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="filter">
+ <callback name="filter">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="GLFilter" c:type="GstGLFilter*"/>
+ </parameter>
+ <parameter name="inbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="filter_texture">
+ <callback name="filter_texture">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">whether the transformation succeeded</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">a #GstGLFilter</doc>
+ <type name="GLFilter" c:type="GstGLFilter*"/>
+ </parameter>
+ <parameter name="input" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">an input buffer</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </parameter>
+ <parameter name="output" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.c">an output buffer</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="init_fbo">
+ <callback name="init_fbo">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="GLFilter" c:type="GstGLFilter*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="transform_internal_caps">
+ <callback name="transform_internal_caps">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="GLFilter" c:type="GstGLFilter*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="filter_caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="GLFilterRenderFunc" c:type="GstGLFilterRenderFunc" version="1.10">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h">whether the render succeeded</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h">the #GstGLFilter</doc>
+ <type name="GLFilter" c:type="GstGLFilter*"/>
+ </parameter>
+ <parameter name="in_tex" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h">the input #GstGLMemory to render</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="GLFormat" glib:type-name="GstGLFormat" glib:get-type="gst_gl_format_get_type" c:type="GstGLFormat">
+ <member name="luminance" value="6409" c:identifier="GST_GL_LUMINANCE" glib:nick="luminance">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Single component replicated across R, G, and B textures
+ components</doc>
+ </member>
+ <member name="alpha" value="6406" c:identifier="GST_GL_ALPHA" glib:nick="alpha">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Single component stored in the A texture component</doc>
+ </member>
+ <member name="luminance_alpha" value="6410" c:identifier="GST_GL_LUMINANCE_ALPHA" glib:nick="luminance-alpha">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Combination of #GST_GL_LUMINANCE and #GST_GL_ALPHA</doc>
+ </member>
+ <member name="red" value="6403" c:identifier="GST_GL_RED" glib:nick="red">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Single component stored in the R texture component</doc>
+ </member>
+ <member name="r8" value="33321" c:identifier="GST_GL_R8" glib:nick="r8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Single 8-bit component stored in the R texture component</doc>
+ </member>
+ <member name="rg" value="33319" c:identifier="GST_GL_RG" glib:nick="rg">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Two components stored in the R and G texture components</doc>
+ </member>
+ <member name="rg8" value="33323" c:identifier="GST_GL_RG8" glib:nick="rg8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Two 8-bit components stored in the R and G texture components</doc>
+ </member>
+ <member name="rgb" value="6407" c:identifier="GST_GL_RGB" glib:nick="rgb">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Three components stored in the R, G, and B texture components</doc>
+ </member>
+ <member name="rgb8" value="32849" c:identifier="GST_GL_RGB8" glib:nick="rgb8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Three 8-bit components stored in the R, G, and B
+ texture components</doc>
+ </member>
+ <member name="rgb565" value="36194" c:identifier="GST_GL_RGB565" glib:nick="rgb565">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Three components of bit depth 5, 6 and 5 stored in the R, G,
+ and B texture components respectively.</doc>
+ </member>
+ <member name="rgb16" value="32852" c:identifier="GST_GL_RGB16" glib:nick="rgb16">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Three 16-bit components stored in the R, G, and B
+ texture components</doc>
+ </member>
+ <member name="rgba" value="6408" c:identifier="GST_GL_RGBA" glib:nick="rgba">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Four components stored in the R, G, B, and A texture
+ components respectively.</doc>
+ </member>
+ <member name="rgba8" value="32856" c:identifier="GST_GL_RGBA8" glib:nick="rgba8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Four 8-bit components stored in the R, G, B, and A texture
+ components respectively.</doc>
+ </member>
+ <member name="rgba16" value="32859" c:identifier="GST_GL_RGBA16" glib:nick="rgba16">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Four 16-bit components stored in the R, G, B, and A texture
+ components respectively.</doc>
+ </member>
+ <member name="depth_component16" value="33189" c:identifier="GST_GL_DEPTH_COMPONENT16" glib:nick="depth-component16">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">A single 16-bit component for depth information.</doc>
+ </member>
+ <member name="depth24_stencil8" value="35056" c:identifier="GST_GL_DEPTH24_STENCIL8" glib:nick="depth24-stencil8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">A 24-bit component for depth information and
+ a 8-bit component for stencil informat.</doc>
+ </member>
+ <member name="rgb10_a2" value="32857" c:identifier="GST_GL_RGB10_A2" glib:nick="rgb10-a2">
+ </member>
+ <member name="r16" value="33322" c:identifier="GST_GL_R16" glib:nick="r16">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Single 16-bit component stored in the R texture component</doc>
+ </member>
+ <member name="rg16" value="33324" c:identifier="GST_GL_RG16" glib:nick="rg16">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">Two 16-bit components stored in the R and G texture components</doc>
+ </member>
+ <function name="from_video_info" c:identifier="gst_gl_format_from_video_info">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the #GstGLFormat necessary for holding the data in @plane of @vinfo</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="vinfo" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a #GstVideoInfo</doc>
+ <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
+ </parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the plane number in @vinfo</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="is_supported" c:identifier="gst_gl_format_is_supported" version="1.16">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">Whether @format is supported by @context based on the OpenGL API,
+ version, or available OpenGL extension/s.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the #GstGLFormat to check is supported by @context</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_from_sized_gl_format" c:identifier="gst_gl_format_type_from_sized_gl_format" version="1.16">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">Get the unsized format and type from @format for usage in glReadPixels,
+glTex{Sub}Image*, glTexImage* and similar functions.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the sized internal #GstGLFormat</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </parameter>
+ <parameter name="unsized_format" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">location for the resulting unsized #GstGLFormat</doc>
+ <type name="GLFormat" c:type="GstGLFormat*"/>
+ </parameter>
+ <parameter name="gl_type" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">location for the resulting GL type</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_n_bytes" c:identifier="gst_gl_format_type_n_bytes">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the number of bytes the specified @format, @type combination takes
+per pixel</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the OpenGL format, `GL_RGBA`, `GL_LUMINANCE`, etc</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the OpenGL type, `GL_UNSIGNED_BYTE`, `GL_FLOAT`, etc</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <class name="GLFramebuffer" c:symbol-prefix="gl_framebuffer" c:type="GstGLFramebuffer" version="1.10" parent="Gst.Object" glib:type-name="GstGLFramebuffer" glib:get-type="gst_gl_framebuffer_get_type" glib:type-struct="GLFramebufferClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">A #GstGLFramebuffer represents and holds an OpenGL framebuffer object with
+it's associated attachments.
+
+A #GstGLFramebuffer can be created with gst_gl_framebuffer_new() or
+gst_gl_framebuffer_new_with_default_depth() and bound with
+gst_gl_framebuffer_bind(). Other resources can be bound with
+gst_gl_framebuffer_attach()
+
+Note: OpenGL framebuffers are not shareable resources so cannot be used
+between multiple OpenGL contexts.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <constructor name="new" c:identifier="gst_gl_framebuffer_new" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">This function will internally create an OpenGL framebuffer object and must
+be called on @context's OpenGL thread.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">a new #GstGLFramebuffer</doc>
+ <type name="GLFramebuffer" c:type="GstGLFramebuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_with_default_depth" c:identifier="gst_gl_framebuffer_new_with_default_depth" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">This function will internally create an OpenGL framebuffer object and must
+be called on @context's OpenGL thread.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">a new #GstGLFramebuffer with a depth buffer of @width and @height</doc>
+ <type name="GLFramebuffer" c:type="GstGLFramebuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">width for the depth buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">for the depth buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="attach" c:identifier="gst_gl_framebuffer_attach" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">attach @mem to @attachment_point
+
+Must be called with the same OpenGL context current that @fb was created
+with.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="fb" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">a #GstGLFramebuffer</doc>
+ <type name="GLFramebuffer" c:type="GstGLFramebuffer*"/>
+ </instance-parameter>
+ <parameter name="attachment_point" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">the OpenGL attachment point to bind @mem to</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">the memory object to bind to @attachment_point</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="bind" c:identifier="gst_gl_framebuffer_bind" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">Bind @fb into the current thread
+
+Must be called with the same OpenGL context current that @fb was created
+with.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="fb" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">a #GstGLFramebuffer</doc>
+ <type name="GLFramebuffer" c:type="GstGLFramebuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="draw_to_texture" c:identifier="gst_gl_framebuffer_draw_to_texture" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">Perform the steps necessary to have the output of a glDraw* command in
+@func update the contents of @mem.
+
+Note: this function does not map @mem for writing with OpenGL and that must
+be done manually by the caller using any of the mapping functions such as
+gst_memory_map() with the map flags %GST_MAP_WRITE | %GST_MAP_GL.
+
+Must be called with the same OpenGL context current that @fb was created
+with.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">the result of executing @func</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="fb" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">a #GstGLFramebuffer</doc>
+ <type name="GLFramebuffer" c:type="GstGLFramebuffer*"/>
+ </instance-parameter>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">the #GstGLMemory to draw to</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" scope="call" closure="2">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">the function to run</doc>
+ <type name="GLFramebufferFunc" c:type="GstGLFramebufferFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">data to pass to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_effective_dimensions" c:identifier="gst_gl_framebuffer_get_effective_dimensions" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">Retrieve the effective dimensions from the current attachments attached to
+@fb.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="fb" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">a #GstGLFramebuffer</doc>
+ <type name="GLFramebuffer" c:type="GstGLFramebuffer*"/>
+ </instance-parameter>
+ <parameter name="width" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">output width</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="height" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">output height</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_id" c:identifier="gst_gl_framebuffer_get_id" version="1.10">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">the OpenGL id for @fb</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="fb" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.c">a #GstGLFramebuffer</doc>
+ <type name="GLFramebuffer" c:type="GstGLFramebuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <field name="object" readable="0" private="1">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="context" readable="0" private="1">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </field>
+ <field name="fbo_id" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="attachments" readable="0" private="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GLFramebufferPrivate" c:type="GstGLFramebufferPrivate*"/>
+ </field>
+ </class>
+ <record name="GLFramebufferClass" c:type="GstGLFramebufferClass" glib:is-gtype-struct-for="GLFramebuffer">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h">Opaque #GstGLFramebufferClass struct</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <field name="object_class" readable="0" private="1">
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="GLFramebufferFunc" c:type="GstGLFramebufferFunc">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h">callback definition for operating through a #GstGLFramebuffer object</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="stuff" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="GLFramebufferPrivate" c:type="GstGLFramebufferPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ </record>
+ <record name="GLFuncs" c:type="GstGLFuncs" disguised="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">Structure containing function pointers to OpenGL functions.
+
+Each field is named exactly the same as the OpenGL function without the
+`gl` prefix.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_fwd.h"/>
+ </record>
+ <record name="GLMemory" c:type="GstGLMemory" glib:type-name="GstGLMemory" glib:get-type="gst_gl_memory_get_type" c:symbol-prefix="gl_memory">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">GstGLMemory is a #GstGLBaseMemory subclass providing support for the mapping of
+OpenGL textures.
+
+#GstGLMemory is created or wrapped through gst_gl_base_memory_alloc()
+with #GstGLVideoAllocationParams.
+
+Data is uploaded or downloaded from the GPU as is necessary.
+
+The #GstCaps that is used for #GstGLMemory based buffers should contain
+the %GST_CAPS_FEATURE_MEMORY_GL_MEMORY as a #GstCapsFeatures and should
+contain a 'texture-target' field with one of the #GstGLTextureTarget values
+as a string, i.e. some combination of 'texture-target=(string){2D,
+rectangle, external-oes}'.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <field name="mem" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">the parent #GstGLBaseMemory object</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory"/>
+ </field>
+ <field name="tex_id" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">the GL texture id for this memory</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="tex_target" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">the GL texture target for this memory</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </field>
+ <field name="tex_format" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">the texture type</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </field>
+ <field name="info" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">the texture's #GstVideoInfo</doc>
+ <type name="GstVideo.VideoInfo" c:type="GstVideoInfo"/>
+ </field>
+ <field name="valign" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">data alignment for system memory mapping</doc>
+ <type name="GstVideo.VideoAlignment" c:type="GstVideoAlignment"/>
+ </field>
+ <field name="plane" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">data plane in @info</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="tex_scaling" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">GL shader scaling parameters for @valign and/or width/height</doc>
+ <array zero-terminated="0" fixed-size="2">
+ <type name="gfloat" c:type="gfloat"/>
+ </array>
+ </field>
+ <field name="texture_wrapped" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="unpack_length" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="tex_width" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="copy_into" c:identifier="gst_gl_memory_copy_into" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">Copies @gl_mem into the texture specified by @tex_id. The format of @tex_id
+is specified by @tex_format, @width and @height.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">Whether the copy succeeded</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLMemory</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </instance-parameter>
+ <parameter name="tex_id" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">OpenGL texture id</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLTextureTarget</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ <parameter name="tex_format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLFormat</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">width of @tex_id</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">height of @tex_id</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy_teximage" c:identifier="gst_gl_memory_copy_teximage" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">Copies the texture in #GstGLMemory into the texture specified by @tex_id,
+@out_target, @out_tex_format, @out_width and @out_height.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">whether the copy succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the source #GstGLMemory</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </instance-parameter>
+ <parameter name="tex_id" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the destination texture id</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="out_target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the destination #GstGLTextureTarget</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ <parameter name="out_tex_format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the destination #GstGLFormat</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </parameter>
+ <parameter name="out_width" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the destination width</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the destination height</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_texture_format" c:identifier="gst_gl_memory_get_texture_format" version="1.12">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLFormat of @gl_mem</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLMemory</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_texture_height" c:identifier="gst_gl_memory_get_texture_height" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the texture height of @gl_mem</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLMemory</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_texture_id" c:identifier="gst_gl_memory_get_texture_id" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the OpenGL texture handle of @gl_mem</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLMemory</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_texture_target" c:identifier="gst_gl_memory_get_texture_target" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLTextureTarget of @gl_mem</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLMemory</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_texture_width" c:identifier="gst_gl_memory_get_texture_width" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the texture width of @gl_mem</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLMemory</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_gl_memory_init" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">Initializes @mem with the required parameters. @info is assumed to have
+already have been modified with gst_video_info_align().</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLBaseMemory to initialize</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </instance-parameter>
+ <parameter name="allocator" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstAllocator to initialize with</doc>
+ <type name="Gst.Allocator" c:type="GstAllocator*"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the parent #GstMemory to initialize with</doc>
+ <type name="Gst.Memory" c:type="GstMemory*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLContext to initialize with</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLTextureTarget for this #GstGLMemory</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ <parameter name="tex_format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLFormat for this #GstGLMemory</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the @GstAllocationParams to initialize with</doc>
+ <type name="Gst.AllocationParams" c:type="const GstAllocationParams*"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstVideoInfo for this #GstGLMemory</doc>
+ <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
+ </parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the plane number (starting from 0) for this #GstGLMemory</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="valign" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">optional #GstVideoAlignment parameters</doc>
+ <type name="GstVideo.VideoAlignment" c:type="const GstVideoAlignment*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">user data to call @notify with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" nullable="1" allow-none="1" scope="async">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GDestroyNotify</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="read_pixels" c:identifier="gst_gl_memory_read_pixels" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">Reads the texture in #GstGLMemory into @write_pointer if no buffer is bound
+to `GL_PIXEL_PACK_BUFFER`. Otherwise @write_pointer is the byte offset into
+the currently bound `GL_PIXEL_PACK_BUFFER` buffer to store the result of
+glReadPixels. See the OpenGL specification for glReadPixels for more
+details.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">whether theread operation succeeded</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLMemory</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </instance-parameter>
+ <parameter name="write_pointer" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the data pointer to pass to glReadPixels</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="texsubimage" c:identifier="gst_gl_memory_texsubimage" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">Reads the texture in @read_pointer into @gl_mem.
+
+See gst_gl_memory_read_pixels() for what @read_pointer signifies.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLMemory</doc>
+ <type name="GLMemory" c:type="GstGLMemory*"/>
+ </instance-parameter>
+ <parameter name="read_pointer" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the data pointer to pass to glTexSubImage</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="init_once" c:identifier="gst_gl_memory_init_once" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">Initializes the GL Base Texture allocator. It is safe to call this function
+multiple times. This must be called before any other GstGLMemory operation.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="setup_buffer" c:identifier="gst_gl_memory_setup_buffer" version="1.8" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">whether the buffer was correctly setup</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="allocator" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the @GstGLMemoryAllocator to allocate from</doc>
+ <type name="GLMemoryAllocator" c:type="GstGLMemoryAllocator*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstBuffer to setup</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLVideoAllocationParams to allocate with</doc>
+ <type name="GLVideoAllocationParams" c:type="GstGLVideoAllocationParams*"/>
+ </parameter>
+ <parameter name="tex_formats" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">
+ a list of #GstGLFormat's to allocate with.</doc>
+ <array length="5" zero-terminated="0" c:type="GstGLFormat*">
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </array>
+ </parameter>
+ <parameter name="wrapped_data" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">
+ a list of wrapped data pointers</doc>
+ <array length="5" zero-terminated="0" c:type="gpointer*">
+ <type name="gpointer"/>
+ </array>
+ </parameter>
+ <parameter name="n_wrapped_pointers" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the number of elements in @tex_formats and @wrapped_data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <class name="GLMemoryAllocator" c:symbol-prefix="gl_memory_allocator" c:type="GstGLMemoryAllocator" parent="GLBaseMemoryAllocator" glib:type-name="GstGLMemoryAllocator" glib:get-type="gst_gl_memory_allocator_get_type" glib:type-struct="GLMemoryAllocatorClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">Opaque #GstGLMemoryAllocator struct</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <function name="get_default" c:identifier="gst_gl_memory_allocator_get_default" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the default #GstGLMemoryAllocator supported by
+ @context</doc>
+ <type name="GLMemoryAllocator" c:type="GstGLMemoryAllocator*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <field name="parent" readable="0" private="1">
+ <type name="GLBaseMemoryAllocator" c:type="GstGLBaseMemoryAllocator"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="GLMemoryAllocatorClass" c:type="GstGLMemoryAllocatorClass" glib:is-gtype-struct-for="GLMemoryAllocator">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="GLBaseMemoryAllocatorClass" c:type="GstGLBaseMemoryAllocatorClass"/>
+ </field>
+ <field name="map">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">provide a custom map implementation</doc>
+ <type name="GLBaseMemoryAllocatorMapFunction" c:type="GstGLBaseMemoryAllocatorMapFunction"/>
+ </field>
+ <field name="copy">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">provide a custom copy implementation</doc>
+ <type name="GLBaseMemoryAllocatorCopyFunction" c:type="GstGLBaseMemoryAllocatorCopyFunction"/>
+ </field>
+ <field name="unmap">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">provide a custom unmap implementation</doc>
+ <type name="GLBaseMemoryAllocatorUnmapFunction" c:type="GstGLBaseMemoryAllocatorUnmapFunction"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="GLMemoryPBO" c:type="GstGLMemoryPBO" glib:type-name="GstGLMemoryPBO" glib:get-type="gst_gl_memory_pbo_get_type" c:symbol-prefix="gl_memory_pbo">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">#GstGLMemoryPBO is created or wrapped through gst_gl_base_memory_alloc()
+with #GstGLVideoAllocationParams.
+
+Data is uploaded or downloaded from the GPU as is necessary.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <field name="mem" readable="0" private="1">
+ <type name="GLMemory" c:type="GstGLMemory"/>
+ </field>
+ <field name="pbo" readable="0" private="1">
+ <type name="GLBuffer" c:type="GstGLBuffer*"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="copy_into_texture" c:identifier="gst_gl_memory_pbo_copy_into_texture" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">Copies @gl_mem into the texture specified by @tex_id. The format of @tex_id
+is specified by @tex_format, @width and @height.
+
+If @respecify is %TRUE, then the copy is performed in terms of the texture
+data. This is useful for splitting RGBA textures into RG or R textures or
+vice versa. The requirement for this to succeed is that the backing texture
+data must be the same size, i.e. say a RGBA8 texture is converted into a RG8
+texture, then the RG texture must have twice as many pixels available for
+output as the RGBA texture.
+
+Otherwise, if @respecify is %FALSE, then the copy is performed per texel
+using glCopyTexImage. See the OpenGL specification for details on the
+mappings between texture formats.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">Whether the copy succeeded</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">a #GstGLMemoryPBO</doc>
+ <type name="GLMemoryPBO" c:type="GstGLMemoryPBO*"/>
+ </instance-parameter>
+ <parameter name="tex_id" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">the destination texture id</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">the destination #GstGLTextureTarget</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ <parameter name="tex_format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">the destination #GstGLFormat</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">width of @tex_id</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">height of @tex_id</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="stride" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">stride of the backing texture data</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="respecify" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">whether to copy the data or copy per texel</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="download_transfer" c:identifier="gst_gl_memory_pbo_download_transfer" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">Transfer the texture data from the texture into the PBO if necessary.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">a #GstGLMemoryPBO</doc>
+ <type name="GLMemoryPBO" c:type="GstGLMemoryPBO*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="upload_transfer" c:identifier="gst_gl_memory_pbo_upload_transfer" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">Transfer the texture data from the PBO into the texture if necessary.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">a #GstGLMemoryPBO</doc>
+ <type name="GLMemoryPBO" c:type="GstGLMemoryPBO*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="init_once" c:identifier="gst_gl_memory_pbo_init_once">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ </record>
+ <class name="GLMemoryPBOAllocator" c:symbol-prefix="gl_memory_pbo_allocator" c:type="GstGLMemoryPBOAllocator" parent="GLMemoryAllocator" glib:type-name="GstGLMemoryPBOAllocator" glib:get-type="gst_gl_memory_pbo_allocator_get_type" glib:type-struct="GLMemoryPBOAllocatorClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h">Opaque #GstGLMemoryPBOAllocator struct</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <field name="parent">
+ <type name="GLMemoryAllocator" c:type="GstGLMemoryAllocator"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="GLMemoryPBOAllocatorClass" c:type="GstGLMemoryPBOAllocatorClass" glib:is-gtype-struct-for="GLMemoryPBOAllocator">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h">Only contains private data</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <field name="parent_class">
+ <type name="GLMemoryAllocatorClass" c:type="GstGLMemoryAllocatorClass"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="GLOverlayCompositor" c:symbol-prefix="gl_overlay_compositor" c:type="GstGLOverlayCompositor" parent="Gst.Object" glib:type-name="GstGLOverlayCompositor" glib:get-type="gst_gl_overlay_compositor_get_type" glib:type-struct="GLOverlayCompositorClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h">Opaque #GstGLOverlayCompositor object</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h"/>
+ <constructor name="new" c:identifier="gst_gl_overlay_compositor_new">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h"/>
+ <return-value transfer-ownership="none">
+ <type name="GLOverlayCompositor" c:type="GstGLOverlayCompositor*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="add_caps" c:identifier="gst_gl_overlay_compositor_add_caps">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="draw_overlays" c:identifier="gst_gl_overlay_compositor_draw_overlays">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="compositor" transfer-ownership="none">
+ <type name="GLOverlayCompositor" c:type="GstGLOverlayCompositor*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free_overlays" c:identifier="gst_gl_overlay_compositor_free_overlays">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="compositor" transfer-ownership="none">
+ <type name="GLOverlayCompositor" c:type="GstGLOverlayCompositor*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="upload_overlays" c:identifier="gst_gl_overlay_compositor_upload_overlays">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="compositor" transfer-ownership="none">
+ <type name="GLOverlayCompositor" c:type="GstGLOverlayCompositor*"/>
+ </instance-parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="yinvert" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="context" readable="0" private="1">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </field>
+ <field name="last_window_width" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="last_window_height" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="overlays" readable="0" private="1">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="shader" readable="0" private="1">
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </field>
+ <field name="position_attrib" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="texcoord_attrib" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="GLOverlayCompositorClass" c:type="GstGLOverlayCompositorClass" glib:is-gtype-struct-for="GLOverlayCompositor">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h"/>
+ <field name="object_class">
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="GLPlatform" glib:type-name="GstGLPlatform" glib:get-type="gst_gl_platform_get_type" c:type="GstGLPlatform">
+ <member name="none" value="0" c:identifier="GST_GL_PLATFORM_NONE" glib:nick="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">no platform</doc>
+ </member>
+ <member name="egl" value="1" c:identifier="GST_GL_PLATFORM_EGL" glib:nick="egl">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">the EGL platform used primarily with the X11, wayland
+ and android window systems as well as on embedded Linux</doc>
+ </member>
+ <member name="glx" value="2" c:identifier="GST_GL_PLATFORM_GLX" glib:nick="glx">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">the GLX platform used primarily with the X11 window system</doc>
+ </member>
+ <member name="wgl" value="4" c:identifier="GST_GL_PLATFORM_WGL" glib:nick="wgl">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">the WGL platform used primarily on Windows</doc>
+ </member>
+ <member name="cgl" value="8" c:identifier="GST_GL_PLATFORM_CGL" glib:nick="cgl">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">the CGL platform used primarily on OS X</doc>
+ </member>
+ <member name="eagl" value="16" c:identifier="GST_GL_PLATFORM_EAGL" glib:nick="eagl">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">the EAGL platform used primarily on iOS</doc>
+ </member>
+ <member name="any" value="4294967295" c:identifier="GST_GL_PLATFORM_ANY" glib:nick="any">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">any OpenGL platform</doc>
+ </member>
+ <function name="from_string" c:identifier="gst_gl_platform_from_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">The #GstGLPlatform represented by @platform_s</doc>
+ <type name="GLPlatform" c:type="GstGLPlatform"/>
+ </return-value>
+ <parameters>
+ <parameter name="platform_s" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">a space separated string of OpenGL platformss</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_string" c:identifier="gst_gl_platform_to_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">A space separated string of the OpenGL platforms enabled in @platform</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="platform" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">a #GstGLPlatform to stringify</doc>
+ <type name="GLPlatform" c:type="GstGLPlatform"/>
+ </parameter>
+ </parameters>
+ </function>
+ </bitfield>
+ <record name="GLQuery" c:type="GstGLQuery" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">A #GstGLQuery represents and holds an OpenGL query object. Various types of
+queries can be run or counters retrieved.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.h"/>
+ <field name="context" readable="0" private="1">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </field>
+ <field name="query_type" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="query_id" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="supported" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="start_called" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="debug" readable="0" private="1">
+ <type name="GLAsyncDebug" c:type="GstGLAsyncDebug"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="counter" c:identifier="gst_gl_query_counter" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">Record the result of a counter</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">a #GstGLQuery</doc>
+ <type name="GLQuery" c:type="GstGLQuery*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="end" c:identifier="gst_gl_query_end" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">End counting the query</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">a #GstGLQuery</doc>
+ <type name="GLQuery" c:type="GstGLQuery*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_gl_query_free" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">Frees a #GstGLQuery</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">a #GstGLQuery</doc>
+ <type name="GLQuery" c:type="GstGLQuery*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_gl_query_init" version="1.10">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">a #GstGLQuery</doc>
+ <type name="GLQuery" c:type="GstGLQuery*"/>
+ </instance-parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="query_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">the #GstGLQueryType</doc>
+ <type name="GLQueryType" c:type="GstGLQueryType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="result" c:identifier="gst_gl_query_result" version="1.10">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">the result of the query</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">a #GstGLQuery</doc>
+ <type name="GLQuery" c:type="GstGLQuery*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="start" c:identifier="gst_gl_query_start" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">Start counting the query</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">a #GstGLQuery</doc>
+ <type name="GLQuery" c:type="GstGLQuery*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="unset" c:identifier="gst_gl_query_unset" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">Free any dynamically allocated resources</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">a #GstGLQuery</doc>
+ <type name="GLQuery" c:type="GstGLQuery*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="local_gl_context" c:identifier="gst_gl_query_local_gl_context">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">Performs a GST_QUERY_CONTEXT query of type "gst.gl.local_context" on all
+#GstPads in @element of @direction for the local OpenGL context used by
+GStreamer elements.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">whether @context_ptr contains a #GstGLContext</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a #GstElement to query from</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">the #GstPadDirection to query</doc>
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="context_ptr" direction="inout" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">location containing the current and/or resulting
+ #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new" c:identifier="gst_gl_query_new" version="1.10" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">Free with gst_gl_query_free()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.h"/>
+ <return-value>
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">a new #GstGLQuery</doc>
+ <type name="GLQuery" c:type="GstGLQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="query_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">the #GstGLQueryType to create</doc>
+ <type name="GLQueryType" c:type="GstGLQueryType"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <enumeration name="GLQueryType" glib:type-name="GstGLQueryType" glib:get-type="gst_gl_query_type_get_type" c:type="GstGLQueryType">
+ <member name="none" value="0" c:identifier="GST_GL_QUERY_NONE" glib:nick="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.h">no query</doc>
+ </member>
+ <member name="time_elapsed" value="1" c:identifier="GST_GL_QUERY_TIME_ELAPSED" glib:nick="time-elapsed">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.h">query the time elapsed</doc>
+ </member>
+ <member name="timestamp" value="2" c:identifier="GST_GL_QUERY_TIMESTAMP" glib:nick="timestamp">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.h">query the current time</doc>
+ </member>
+ </enumeration>
+ <record name="GLRenderbuffer" c:type="GstGLRenderbuffer" version="1.10" glib:type-name="GstGLRenderbuffer" glib:get-type="gst_gl_renderbuffer_get_type" c:symbol-prefix="gl_renderbuffer">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">GstGLRenderbuffer is a #GstGLBaseMemory subclass providing support for
+OpenGL renderbuffers.
+
+#GstGLRenderbuffer is created or wrapped through gst_gl_base_memory_alloc()
+with #GstGLRenderbufferAllocationParams.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <field name="mem" readable="0" private="1">
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory"/>
+ </field>
+ <field name="renderbuffer_id" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h">the GL texture id for this memory</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="renderbuffer_format" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h">the texture type</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </field>
+ <field name="width" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h">the width</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="height" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h">the height</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="renderbuffer_wrapped" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="get_format" c:identifier="gst_gl_renderbuffer_get_format" version="1.12">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">the #GstGLFormat of @gl_mem</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">a #GstGLRenderbuffer</doc>
+ <type name="GLRenderbuffer" c:type="GstGLRenderbuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_height" c:identifier="gst_gl_renderbuffer_get_height" version="1.10">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">the configured height of @gl_mem</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">a #GstGLRenderbuffer</doc>
+ <type name="GLRenderbuffer" c:type="GstGLRenderbuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_id" c:identifier="gst_gl_renderbuffer_get_id" version="1.10">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">the OpenGL renderbuffer handle of @gl_mem</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">a #GstGLRenderbuffer</doc>
+ <type name="GLRenderbuffer" c:type="GstGLRenderbuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_width" c:identifier="gst_gl_renderbuffer_get_width" version="1.10">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">the configured width of @gl_mem</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gl_mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">a #GstGLRenderbuffer</doc>
+ <type name="GLRenderbuffer" c:type="GstGLRenderbuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="init_once" c:identifier="gst_gl_renderbuffer_init_once" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">Initializes the GL Base Texture allocator. It is safe to call this function
+multiple times. This must be called before any other GstGLRenderbuffer operation.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ </record>
+ <record name="GLRenderbufferAllocationParams" c:type="GstGLRenderbufferAllocationParams" glib:type-name="GstGLRenderbufferAllocationParams" glib:get-type="gst_gl_renderbuffer_allocation_params_get_type" c:symbol-prefix="gl_renderbuffer_allocation_params">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h">Allocation parameters</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <field name="parent" readable="0" private="1">
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams"/>
+ </field>
+ <field name="renderbuffer_format" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h">the #GstGLFormat</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </field>
+ <field name="width" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h">the width</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="height" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h">the height</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <constructor name="new" c:identifier="gst_gl_renderbuffer_allocation_params_new" version="1.10">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">a new #GstGLRenderbufferAllocationParams for allocating #GstGLRenderbuffer's</doc>
+ <type name="GLRenderbufferAllocationParams" c:type="GstGLRenderbufferAllocationParams*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="alloc_params" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">the #GstAllocationParams for sysmem mappings of the texture</doc>
+ <type name="Gst.AllocationParams" c:type="const GstAllocationParams*"/>
+ </parameter>
+ <parameter name="renderbuffer_format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">the #GstGLFormat for the created textures</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">the width of the renderbuffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">the height of the renderbuffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_wrapped" c:identifier="gst_gl_renderbuffer_allocation_params_new_wrapped" version="1.10">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">a new #GstGLRenderbufferAllocationParams for wrapping @gl_handle as a
+ renderbuffer</doc>
+ <type name="GLRenderbufferAllocationParams" c:type="GstGLRenderbufferAllocationParams*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="alloc_params" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">the #GstAllocationParams for @tex_id</doc>
+ <type name="Gst.AllocationParams" c:type="const GstAllocationParams*"/>
+ </parameter>
+ <parameter name="renderbuffer_format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">the #GstGLFormat for @tex_id</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">the width of the renderbuffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">the height of the renderbuffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="gl_handle" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">the GL handle to wrap</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">user data to call @notify with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" nullable="1" allow-none="1" scope="async">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">a #GDestroyNotify</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ </record>
+ <class name="GLRenderbufferAllocator" c:symbol-prefix="gl_renderbuffer_allocator" c:type="GstGLRenderbufferAllocator" parent="GLBaseMemoryAllocator" glib:type-name="GstGLRenderbufferAllocator" glib:get-type="gst_gl_renderbuffer_allocator_get_type" glib:type-struct="GLRenderbufferAllocatorClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h">Opaque #GstGLRenderbufferAllocator struct</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <field name="parent">
+ <type name="GLBaseMemoryAllocator" c:type="GstGLBaseMemoryAllocator"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="GLRenderbufferAllocatorClass" c:type="GstGLRenderbufferAllocatorClass" glib:is-gtype-struct-for="GLRenderbufferAllocator">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h">The #GstGLRenderbufferAllocatorClass only contains private data</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <field name="parent_class">
+ <type name="GLBaseMemoryAllocatorClass" c:type="GstGLBaseMemoryAllocatorClass"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="GLSLError" version="1.8" glib:type-name="GstGLSLError" glib:get-type="gst_glsl_error_get_type" c:type="GstGLSLError" glib:error-domain="gst-glsl-error-quark">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">Compilation stage that caused an error</doc>
+ <member name="compile" value="0" c:identifier="GST_GLSL_ERROR_COMPILE" glib:nick="compile">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">Compilation error occurred</doc>
+ </member>
+ <member name="link" value="1" c:identifier="GST_GLSL_ERROR_LINK" glib:nick="link">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">Link error occurred</doc>
+ </member>
+ <member name="program" value="2" c:identifier="GST_GLSL_ERROR_PROGRAM" glib:nick="program">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">General program error occurred</doc>
+ </member>
+ <function name="quark" c:identifier="gst_glsl_error_quark">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">the quark used for GstGLSL in #GError's</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ </enumeration>
+ <bitfield name="GLSLProfile" version="1.8" glib:type-name="GstGLSLProfile" glib:get-type="gst_glsl_profile_get_type" c:type="GstGLSLProfile">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">GLSL profiles</doc>
+ <member name="none" value="0" c:identifier="GST_GLSL_PROFILE_NONE" glib:nick="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">no profile supported/available</doc>
+ </member>
+ <member name="es" value="1" c:identifier="GST_GLSL_PROFILE_ES" glib:nick="es">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">OpenGL|ES profile</doc>
+ </member>
+ <member name="core" value="2" c:identifier="GST_GLSL_PROFILE_CORE" glib:nick="core">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">OpenGL core profile</doc>
+ </member>
+ <member name="compatibility" value="4" c:identifier="GST_GLSL_PROFILE_COMPATIBILITY" glib:nick="compatibility">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">OpenGL compatibility profile</doc>
+ </member>
+ <member name="any" value="4294967295" c:identifier="GST_GLSL_PROFILE_ANY" glib:nick="any">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">any OpenGL/OpenGL|ES profile</doc>
+ </member>
+ <function name="from_string" c:identifier="gst_glsl_profile_from_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">the #GstGLSLProfile of @string or %GST_GLSL_PROFILE_NONE on error</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a GLSL version string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_string" c:identifier="gst_glsl_profile_to_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">the name for @profile or %NULL on error</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLSLProfile</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </parameter>
+ </parameters>
+ </function>
+ </bitfield>
+ <class name="GLSLStage" c:symbol-prefix="glsl_stage" c:type="GstGLSLStage" parent="Gst.Object" glib:type-name="GstGLSLStage" glib:get-type="gst_glsl_stage_get_type" glib:type-struct="GLSLStageClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">#GstGLSLStage holds and represents a single OpenGL shader stage.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <constructor name="new" c:identifier="gst_glsl_stage_new" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a new #GstGLSLStage of the specified @type</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">the GL enum shader stage type</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_default_fragment" c:identifier="gst_glsl_stage_new_default_fragment" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a new #GstGLSLStage with the default fragment shader</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_default_vertex" c:identifier="gst_glsl_stage_new_default_vertex" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a new #GstGLSLStage with the default vertex shader</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_with_string" c:identifier="gst_glsl_stage_new_with_string" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a new #GstGLSLStage of the specified @type</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">the GL enum shader stage type</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">the #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">the #GstGLSLProfile</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </parameter>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a shader string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_with_strings" c:identifier="gst_glsl_stage_new_with_strings" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a new #GstGLSLStage of the specified @type</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">the GL enum shader stage type</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">the #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">the #GstGLSLProfile</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </parameter>
+ <parameter name="n_strings" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">the number of strings in @str</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">
+ an array of strings concatted together to produce a shader</doc>
+ <array length="4" zero-terminated="0" c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="compile" c:identifier="gst_glsl_stage_compile" version="1.8" throws="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">whether the compilation succeeded</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="stage" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a #GstGLSLStage</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_handle" c:identifier="gst_glsl_stage_get_handle" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">The GL handle for this shader stage</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="stage" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a #GstGLSLStage</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_profile" c:identifier="gst_glsl_stage_get_profile" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">The GLSL profile for the current shader stage</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="stage" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a #GstGLSLStage</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_shader_type" c:identifier="gst_glsl_stage_get_shader_type" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">The GL shader type for this shader stage</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="stage" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a #GstGLSLStage</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_version" c:identifier="gst_glsl_stage_get_version" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">The GLSL version for the current shader stage</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="stage" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a #GstGLSLStage</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_strings" c:identifier="gst_glsl_stage_set_strings" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">Replaces the current shader string with @str.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="stage" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a #GstGLSLStage</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </instance-parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a #GstGLSLProfile</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </parameter>
+ <parameter name="n_strings" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">number of strings in @str</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.c">a GLSL shader string</doc>
+ <array length="2" zero-terminated="0" c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent" readable="0" private="1">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="context" readable="0" private="1">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GLSLStagePrivate" c:type="GstGLSLStagePrivate*"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="GLSLStageClass" c:type="GstGLSLStageClass" glib:is-gtype-struct-for="GLSLStage">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h">Opaque #GstGLSLStageClass struct</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <field name="parent" readable="0" private="1">
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="GLSLStagePrivate" c:type="GstGLSLStagePrivate" disguised="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_fwd.h"/>
+ </record>
+ <enumeration name="GLSLVersion" version="1.8" glib:type-name="GstGLSLVersion" glib:get-type="gst_glsl_version_get_type" c:type="GstGLSLVersion">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">GLSL version list</doc>
+ <member name="none" value="0" c:identifier="GST_GLSL_VERSION_NONE" glib:nick="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">no version</doc>
+ </member>
+ <member name="100" value="100" c:identifier="GST_GLSL_VERSION_100" glib:nick="100">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 100 (only valid for ES)</doc>
+ </member>
+ <member name="110" value="110" c:identifier="GST_GLSL_VERSION_110" glib:nick="110">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 110 (only valid for compatibility desktop GL)</doc>
+ </member>
+ <member name="120" value="120" c:identifier="GST_GLSL_VERSION_120" glib:nick="120">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 120 (only valid for compatibility desktop GL)</doc>
+ </member>
+ <member name="130" value="130" c:identifier="GST_GLSL_VERSION_130" glib:nick="130">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 130 (only valid for compatibility desktop GL)</doc>
+ </member>
+ <member name="140" value="140" c:identifier="GST_GLSL_VERSION_140" glib:nick="140">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 140 (only valid for compatibility desktop GL)</doc>
+ </member>
+ <member name="150" value="150" c:identifier="GST_GLSL_VERSION_150" glib:nick="150">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 150 (valid for compatibility/core desktop GL)</doc>
+ </member>
+ <member name="300" value="300" c:identifier="GST_GLSL_VERSION_300" glib:nick="300">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 300 (only valid for ES)</doc>
+ </member>
+ <member name="310" value="310" c:identifier="GST_GLSL_VERSION_310" glib:nick="310">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 310 (only valid for ES)</doc>
+ </member>
+ <member name="320" value="320" c:identifier="GST_GLSL_VERSION_320" glib:nick="320">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 320 (only valid for ES)</doc>
+ </member>
+ <member name="330" value="330" c:identifier="GST_GLSL_VERSION_330" glib:nick="330">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 330 (valid for compatibility/core desktop GL)</doc>
+ </member>
+ <member name="400" value="400" c:identifier="GST_GLSL_VERSION_400" glib:nick="400">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 400 (valid for compatibility/core desktop GL)</doc>
+ </member>
+ <member name="410" value="410" c:identifier="GST_GLSL_VERSION_410" glib:nick="410">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 410 (valid for compatibility/core desktop GL)</doc>
+ </member>
+ <member name="420" value="420" c:identifier="GST_GLSL_VERSION_420" glib:nick="420">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 420 (valid for compatibility/core desktop GL)</doc>
+ </member>
+ <member name="430" value="430" c:identifier="GST_GLSL_VERSION_430" glib:nick="430">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 430 (valid for compatibility/core desktop GL)</doc>
+ </member>
+ <member name="440" value="440" c:identifier="GST_GLSL_VERSION_440" glib:nick="440">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 440 (valid for compatibility/core desktop GL)</doc>
+ </member>
+ <member name="450" value="450" c:identifier="GST_GLSL_VERSION_450" glib:nick="450">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h">version 450 (valid for compatibility/core desktop GL)</doc>
+ </member>
+ <function name="from_string" c:identifier="gst_glsl_version_from_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">the #GstGLSLVersion of @string or %GST_GLSL_VERSION_NONE on error</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a GLSL version string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="profile_from_string" c:identifier="gst_glsl_version_profile_from_string">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">Note: this function expects either a `#version` GLSL preprocesser directive
+or a valid GLSL version and/or profile.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">TRUE if a valid `#version` string was found, FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a valid GLSL `#version` string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="version_ret" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">resulting #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion*"/>
+ </parameter>
+ <parameter name="profile_ret" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">resulting #GstGLSLVersion</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="profile_to_string" c:identifier="gst_glsl_version_profile_to_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">the combined GLSL `#version` string for @version and @profile</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLSLVersion</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_string" c:identifier="gst_glsl_version_to_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">the name of @version or %NULL on error</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <function-macro name="GLSL_STAGE" c:identifier="GST_GLSL_STAGE" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <parameters>
+ <parameter name="o">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GLSL_STAGE_CLASS" c:identifier="GST_GLSL_STAGE_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <parameters>
+ <parameter name="k">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GLSL_STAGE_GET_CLASS" c:identifier="GST_GLSL_STAGE_GET_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <parameters>
+ <parameter name="o">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="GLShader" c:symbol-prefix="gl_shader" c:type="GstGLShader" parent="Gst.Object" glib:type-name="GstGLShader" glib:get-type="gst_gl_shader_get_type" glib:type-struct="GLShaderClass">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <constructor name="new" c:identifier="gst_gl_shader_new">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Note: must be called in the GL thread</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a new empty @shader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_default" c:identifier="gst_gl_shader_new_default" version="1.8" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Note: must be called in the GL thread</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a default @shader or %NULL on failure</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_link_with_stages" c:identifier="gst_gl_shader_new_link_with_stages" version="1.8" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Each stage will attempt to be compiled and attached to @shader. Then
+the shader will be linked. On error, %NULL will be returned and @error will
+contain the details of the error.
+
+Note: must be called in the GL thread</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a new @shader with the specified stages.</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GError</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a NULL terminated list of #GstGLSLStage's</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_with_stages" c:identifier="gst_gl_shader_new_with_stages" version="1.8" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Each stage will attempt to be compiled and attached to @shader. On error,
+%NULL will be returned and @error will contain the details of the error.
+
+Note: must be called in the GL thread</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a new @shader with the specified stages.</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GError</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a NULL terminated list of #GstGLSLStage's</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="string_fragment_external_oes_get_default" c:identifier="gst_gl_shader_string_fragment_external_oes_get_default" version="1.16">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.c">a passthrough shader string for copying an input external-oes
+ texture to the output</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.c">a #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.c">a #GstGLSLProfile</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="string_fragment_get_default" c:identifier="gst_gl_shader_string_fragment_get_default" version="1.16">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.c">a passthrough shader string for copying an input texture to
+ the output</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.c">a #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.c">a #GstGLSLProfile</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="string_get_highest_precision" c:identifier="gst_gl_shader_string_get_highest_precision" version="1.16">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.c">Generates a shader string that defines the precision of float types in
+GLSL shaders. This is particularly needed for fragment shaders in a
+GLSL ES context where there is no default precision specified.
+
+Practically, this will return the string 'precision mediump float'
+or 'precision highp float' depending on if high precision floats are
+determined to be supported.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.c">a shader string defining the precision of float types based on
+ @context, @version and @profile</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.c">a #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshaderstrings.c">a #GstGLSLProfile</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="attach" c:identifier="gst_gl_shader_attach" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Attaches @stage to @shader. @stage must have been successfully compiled
+with gst_glsl_stage_compile().
+
+Note: must be called in the GL thread</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">whether @stage could be attached to @shader</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="stage" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLSLStage to attach</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="attach_unlocked" c:identifier="gst_gl_shader_attach_unlocked" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Attaches @stage to @shader. @stage must have been successfully compiled
+with gst_glsl_stage_compile().
+
+Note: must be called in the GL thread</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">whether @stage could be attached to @shader</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="stage" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLSLStage to attach</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="bind_attribute_location" c:identifier="gst_gl_shader_bind_attribute_location">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Bind attribute @name to the specified location @index using
+`glBindAttributeLocation()`.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">attribute index to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the attribute</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="bind_frag_data_location" c:identifier="gst_gl_shader_bind_frag_data_location">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Bind attribute @name to the specified location @index using
+`glBindFragDataLocation()`.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">attribute index to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the attribute</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="compile_attach_stage" c:identifier="gst_gl_shader_compile_attach_stage" version="1.8" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Compiles @stage and attaches it to @shader.
+
+Note: must be called in the GL thread</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">whether @stage could be compiled and attached to @shader</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="stage" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLSLStage to attach</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="detach" c:identifier="gst_gl_shader_detach" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Detaches @stage from @shader. @stage must have been successfully attached
+to @shader with gst_gl_shader_attach() or gst_gl_shader_attach_unlocked().
+
+Note: must be called in the GL thread</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="stage" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLSLStage to attach</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="detach_unlocked" c:identifier="gst_gl_shader_detach_unlocked" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Detaches @stage from @shader. @stage must have been successfully attached
+to @shader with gst_gl_shader_attach() or gst_gl_shader_attach_unlocked().
+
+Note: must be called in the GL thread</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="stage" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLSLStage to attach</doc>
+ <type name="GLSLStage" c:type="GstGLSLStage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_attribute_location" c:identifier="gst_gl_shader_get_attribute_location">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">the attribute index for @name in @shader or -1 on failure</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the attribute</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_program_handle" c:identifier="gst_gl_shader_get_program_handle" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">the GL program handle for this shader</doc>
+ <type name="gint" c:type="int"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_linked" c:identifier="gst_gl_shader_is_linked" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Note: must be called in the GL thread</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">whether @shader has been successfully linked</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="link" c:identifier="gst_gl_shader_link" version="1.8" throws="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Links the current list of #GstGLSLStage's in @shader.
+
+Note: must be called in the GL thread</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">whether @shader could be linked together.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="release" c:identifier="gst_gl_shader_release" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Releases the shader and stages.
+
+Note: must be called in the GL thread</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="release_unlocked" c:identifier="gst_gl_shader_release_unlocked" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Releases the shader and stages.
+
+Note: must be called in the GL thread</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_1f" c:identifier="gst_gl_shader_set_uniform_1f">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform1f()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">value to set</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_1fv" c:identifier="gst_gl_shader_set_uniform_1fv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform1fv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of values to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <array length="1" zero-terminated="0" c:type="const gfloat*">
+ <type name="gfloat" c:type="gfloat"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_1i" c:identifier="gst_gl_shader_set_uniform_1i">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform1i()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">value to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_1iv" c:identifier="gst_gl_shader_set_uniform_1iv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform1iv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of values to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <array length="1" zero-terminated="0" c:type="const gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_2f" c:identifier="gst_gl_shader_set_uniform_2f">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform2f()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="v0" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">first value to set</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ <parameter name="v1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">second value to set</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_2fv" c:identifier="gst_gl_shader_set_uniform_2fv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform2fv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of values to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <array length="1" zero-terminated="0" c:type="const gfloat*">
+ <type name="gfloat" c:type="gfloat"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_2i" c:identifier="gst_gl_shader_set_uniform_2i">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform2i()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="v0" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">first value to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="v1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">second value to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_2iv" c:identifier="gst_gl_shader_set_uniform_2iv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform2iv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of values to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <array length="1" zero-terminated="0" c:type="const gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_3f" c:identifier="gst_gl_shader_set_uniform_3f">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform3f()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="v0" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">first value to set</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ <parameter name="v1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">second value to set</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ <parameter name="v2" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">third value to set</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_3fv" c:identifier="gst_gl_shader_set_uniform_3fv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform3fv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of values to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <array length="1" zero-terminated="0" c:type="const gfloat*">
+ <type name="gfloat" c:type="gfloat"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_3i" c:identifier="gst_gl_shader_set_uniform_3i">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform3i()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="v0" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">first value to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="v1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">second value to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="v2" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">third value to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_3iv" c:identifier="gst_gl_shader_set_uniform_3iv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform3iv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of values to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <array length="1" zero-terminated="0" c:type="const gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_4f" c:identifier="gst_gl_shader_set_uniform_4f">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform4f()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="v0" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">first value to set</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ <parameter name="v1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">second value to set</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ <parameter name="v2" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">third value to set</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ <parameter name="v3" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">fourth value to set</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_4fv" c:identifier="gst_gl_shader_set_uniform_4fv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform4fv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of values to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <array length="1" zero-terminated="0" c:type="const gfloat*">
+ <type name="gfloat" c:type="gfloat"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_4i" c:identifier="gst_gl_shader_set_uniform_4i">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform4i()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="v0" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">first value to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="v1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">second value to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="v2" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">third value to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="v3" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">fourth value to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_4iv" c:identifier="gst_gl_shader_set_uniform_4iv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniform4iv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of values to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <array length="1" zero-terminated="0" c:type="const gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_matrix_2fv" c:identifier="gst_gl_shader_set_uniform_matrix_2fv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniformMatrix2fv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of 2x2 matrices to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="transpose" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">transpose the matrix</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">matrix to set</doc>
+ <type name="gfloat" c:type="const gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_matrix_2x3fv" c:identifier="gst_gl_shader_set_uniform_matrix_2x3fv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniformMatrix2x3fv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of 2x3 matrices to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="transpose" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">transpose the matrix</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <type name="gfloat" c:type="const gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_matrix_2x4fv" c:identifier="gst_gl_shader_set_uniform_matrix_2x4fv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniformMatrix2x4fv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of 2x4 matrices to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="transpose" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">transpose the matrix</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <type name="gfloat" c:type="const gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_matrix_3fv" c:identifier="gst_gl_shader_set_uniform_matrix_3fv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniformMatrix3fv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of 3x3 matrices to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="transpose" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">transpose the matrix</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <type name="gfloat" c:type="const gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_matrix_3x2fv" c:identifier="gst_gl_shader_set_uniform_matrix_3x2fv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniformMatrix3x2fv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of 3x2 matrices to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="transpose" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">transpose the matrix</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <type name="gfloat" c:type="const gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_matrix_3x4fv" c:identifier="gst_gl_shader_set_uniform_matrix_3x4fv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniformMatrix3x4fv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of 3x4 matrices to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="transpose" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">transpose the matrix</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <type name="gfloat" c:type="const gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_matrix_4fv" c:identifier="gst_gl_shader_set_uniform_matrix_4fv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniformMatrix4fv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of 4x4 matrices to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="transpose" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">transpose the matrix</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <type name="gfloat" c:type="const gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_matrix_4x2fv" c:identifier="gst_gl_shader_set_uniform_matrix_4x2fv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniformMatrix4x2fv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of 4x2 matrices to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="transpose" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">transpose the matrix</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <type name="gfloat" c:type="const gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uniform_matrix_4x3fv" c:identifier="gst_gl_shader_set_uniform_matrix_4x3fv">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Perform `glUniformMatrix4x3fv()` for @name on @shader</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">name of the uniform</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">number of 4x3 matrices to set</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="transpose" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">transpose the matrix</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">values to set</doc>
+ <type name="gfloat" c:type="const gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="use" c:identifier="gst_gl_shader_use">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">Mark's @shader as being used for the next GL draw command.
+
+Note: must be called in the GL thread and @shader must have been linked.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="shader" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.c">a #GstGLShader</doc>
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="linked" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="parent">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="context">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GLShaderPrivate" c:type="GstGLShaderPrivate*"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="GLShaderClass" c:type="GstGLShaderClass" glib:is-gtype-struct-for="GLShader">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ </record>
+ <record name="GLShaderPrivate" c:type="GstGLShaderPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_fwd.h"/>
+ </record>
+ <enumeration name="GLStereoDownmix" glib:type-name="GstGLStereoDownmix" glib:get-type="gst_gl_stereo_downmix_get_type" c:type="GstGLStereoDownmix">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h">Output anaglyph type to generate when downmixing to mono</doc>
+ <member name="green_magenta_dubois" value="0" c:identifier="GST_GL_STEREO_DOWNMIX_ANAGLYPH_GREEN_MAGENTA_DUBOIS" glib:nick="green-magenta-dubois">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h">Dubois optimised Green-Magenta anaglyph</doc>
+ </member>
+ <member name="red_cyan_dubois" value="1" c:identifier="GST_GL_STEREO_DOWNMIX_ANAGLYPH_RED_CYAN_DUBOIS" glib:nick="red-cyan-dubois">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h">Dubois optimised Red-Cyan anaglyph</doc>
+ </member>
+ <member name="amber_blue_dubois" value="2" c:identifier="GST_GL_STEREO_DOWNMIX_ANAGLYPH_AMBER_BLUE_DUBOIS" glib:nick="amber-blue-dubois">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h">Dubois optimised Amber-Blue anaglyph</doc>
+ </member>
+ </enumeration>
+ <record name="GLSyncMeta" c:type="GstGLSyncMeta">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">#GstGLSyncMeta provides the ability to synchronize the OpenGL command stream
+with the CPU or with other OpenGL contexts.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <field name="parent" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h">the parent #GstMeta</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="context" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h">the #GstGLContext used to allocate the meta</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </field>
+ <field name="data" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h">a custom data pointer for the implementation</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="set_sync">
+ <callback name="set_sync">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sync" transfer-ownership="none">
+ <type name="GLSyncMeta" c:type="GstGLSyncMeta*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_sync_gl">
+ <callback name="set_sync_gl">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sync" transfer-ownership="none">
+ <type name="GLSyncMeta" c:type="GstGLSyncMeta*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="wait">
+ <callback name="wait">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sync" transfer-ownership="none">
+ <type name="GLSyncMeta" c:type="GstGLSyncMeta*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="wait_gl">
+ <callback name="wait_gl">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sync" transfer-ownership="none">
+ <type name="GLSyncMeta" c:type="GstGLSyncMeta*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="wait_cpu">
+ <callback name="wait_cpu">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sync" transfer-ownership="none">
+ <type name="GLSyncMeta" c:type="GstGLSyncMeta*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="wait_cpu_gl">
+ <callback name="wait_cpu_gl">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sync" transfer-ownership="none">
+ <type name="GLSyncMeta" c:type="GstGLSyncMeta*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="copy">
+ <callback name="copy">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="GLSyncMeta" c:type="GstGLSyncMeta*"/>
+ </parameter>
+ <parameter name="sbuffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <type name="GLSyncMeta" c:type="GstGLSyncMeta*"/>
+ </parameter>
+ <parameter name="dbuffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="free">
+ <callback name="free">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sync" transfer-ownership="none">
+ <type name="GLSyncMeta" c:type="GstGLSyncMeta*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="free_gl">
+ <callback name="free_gl">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sync" transfer-ownership="none">
+ <type name="GLSyncMeta" c:type="GstGLSyncMeta*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <method name="set_sync_point" c:identifier="gst_gl_sync_meta_set_sync_point" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">Set a sync point to possibly wait on at a later time.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sync_meta" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">a #GstGLSyncMeta</doc>
+ <type name="GLSyncMeta" c:type="GstGLSyncMeta*"/>
+ </instance-parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="wait" c:identifier="gst_gl_sync_meta_wait" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">Insert a wait into @context's command stream ensuring all previous OpenGL
+commands before @sync_meta have completed.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sync_meta" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">a #GstGLSyncMeta</doc>
+ <type name="GLSyncMeta" c:type="GstGLSyncMeta*"/>
+ </instance-parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="wait_cpu" c:identifier="gst_gl_sync_meta_wait_cpu" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">Perform a wait so that the sync point has passed from the CPU's perspective
+What that means, is that all GL operations changing CPU-visible data before
+the sync point are now visible.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sync_meta" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">a #GstGLSyncMeta</doc>
+ <type name="GLSyncMeta" c:type="GstGLSyncMeta*"/>
+ </instance-parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="get_info" c:identifier="gst_gl_sync_meta_get_info">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <enumeration name="GLTextureTarget" version="1.8" glib:type-name="GstGLTextureTarget" glib:get-type="gst_gl_texture_target_get_type" c:type="GstGLTextureTarget">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_enums.h">The OpenGL texture target that an OpenGL texture can be bound to. The
+gst_gl_value_set_texture_target_from_mask(),
+gst_gl_value_get_texture_target_mask(), and
+gst_gl_value_set_texture_target() functions can be used for handling texture
+targets with #GValue's when e.g. dealing with #GstCaps.</doc>
+ <member name="none" value="0" c:identifier="GST_GL_TEXTURE_TARGET_NONE" glib:nick="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_enums.h">no texture target</doc>
+ </member>
+ <member name="2d" value="1" c:identifier="GST_GL_TEXTURE_TARGET_2D" glib:nick="2d">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_enums.h">2D texture target (`GL_TEXTURE_2D`)</doc>
+ </member>
+ <member name="rectangle" value="2" c:identifier="GST_GL_TEXTURE_TARGET_RECTANGLE" glib:nick="rectangle">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_enums.h">rectangle texture target
+ (`GL_TEXTURE_RECTANGLE`)</doc>
+ </member>
+ <member name="external_oes" value="3" c:identifier="GST_GL_TEXTURE_TARGET_EXTERNAL_OES" glib:nick="external-oes">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_enums.h">external oes texture target
+ (`GL_TEXTURE_EXTERNAL_OES`)</doc>
+ </member>
+ <function name="from_gl" c:identifier="gst_gl_texture_target_from_gl">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the #GstGLTextureTarget that's equiavalant to @target or
+ %GST_GL_TEXTURE_TARGET_NONE</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </return-value>
+ <parameters>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">an OpenGL texture binding target</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="from_string" c:identifier="gst_gl_texture_target_from_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the #GstGLTextureTarget represented by @str or
+ %GST_GL_TEXTURE_TARGET_NONE</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a string equivalent to one of the GST_GL_TEXTURE_TARGET_*_STR values</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_buffer_pool_option" c:identifier="gst_gl_texture_target_to_buffer_pool_option">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a string representing the @GstBufferPoolOption specified by @target</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a #GstGLTextureTarget</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_gl" c:identifier="gst_gl_texture_target_to_gl">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the OpenGL value for binding the @target with glBindTexture() and
+ similar functions or 0</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a #GstGLTextureTarget</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_string" c:identifier="gst_gl_texture_target_to_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the stringified version of @target or %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a #GstGLTextureTarget</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <class name="GLUpload" c:symbol-prefix="gl_upload" c:type="GstGLUpload" parent="Gst.Object" glib:type-name="GstGLUpload" glib:get-type="gst_gl_upload_get_type" glib:type-struct="GLUploadClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">#GstGLUpload is an object that uploads data from system memory into GL textures.
+
+A #GstGLUpload can be created with gst_gl_upload_new()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h"/>
+ <constructor name="new" c:identifier="gst_gl_upload_new">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">a new #GstGLUpload object</doc>
+ <type name="GLUpload" c:type="GstGLUpload*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="get_input_template_caps" c:identifier="gst_gl_upload_get_input_template_caps">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ </function>
+ <method name="get_caps" c:identifier="gst_gl_upload_get_caps">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="upload" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">a #GstGLUpload</doc>
+ <type name="GLUpload" c:type="GstGLUpload*"/>
+ </instance-parameter>
+ <parameter name="in_caps" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">the input #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps**"/>
+ </parameter>
+ <parameter name="out_caps" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">the output #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="perform_with_buffer" c:identifier="gst_gl_upload_perform_with_buffer">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">Uploads @buffer using the transformation specified by
+gst_gl_upload_set_caps() creating a new #GstBuffer in @outbuf_ptr.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">whether the upload was successful</doc>
+ <type name="GLUploadReturn" c:type="GstGLUploadReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="upload" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">a #GstGLUpload</doc>
+ <type name="GLUpload" c:type="GstGLUpload*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">input #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="outbuf_ptr" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">resulting #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="propose_allocation" c:identifier="gst_gl_upload_propose_allocation">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">Adds the required allocation parameters to support uploading.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="upload" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">a #GstGLUpload</doc>
+ <type name="GLUpload" c:type="GstGLUpload*"/>
+ </instance-parameter>
+ <parameter name="decide_query" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">a #GstQuery from a decide allocation</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">the proposed allocation query</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_caps" c:identifier="gst_gl_upload_set_caps">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">Initializes @upload with the information required for upload.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">whether @in_caps and @out_caps could be set on @upload</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="upload" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">a #GstGLUpload</doc>
+ <type name="GLUpload" c:type="GstGLUpload*"/>
+ </instance-parameter>
+ <parameter name="in_caps" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">input #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="out_caps" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.c">output #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_context" c:identifier="gst_gl_upload_set_context">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="upload" transfer-ownership="none">
+ <type name="GLUpload" c:type="GstGLUpload*"/>
+ </instance-parameter>
+ <parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="transform_caps" c:identifier="gst_gl_upload_transform_caps">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="upload" transfer-ownership="none">
+ <type name="GLUpload" c:type="GstGLUpload*"/>
+ </instance-parameter>
+ <parameter name="context" transfer-ownership="none">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="context">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GLUploadPrivate" c:type="GstGLUploadPrivate*"/>
+ </field>
+ <field name="_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="GLUploadClass" c:type="GstGLUploadClass" glib:is-gtype-struct-for="GLUpload">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h">The #GstGLUploadClass struct only contains private data</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h"/>
+ <field name="object_class">
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="GLUploadPrivate" c:type="GstGLUploadPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_fwd.h"/>
+ </record>
+ <enumeration name="GLUploadReturn" glib:type-name="GstGLUploadReturn" glib:get-type="gst_gl_upload_return_get_type" c:type="GstGLUploadReturn">
+ <member name="done" value="1" c:identifier="GST_GL_UPLOAD_DONE" glib:nick="done">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h">No further processing required</doc>
+ </member>
+ <member name="error" value="-1" c:identifier="GST_GL_UPLOAD_ERROR" glib:nick="error">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h">An unspecified error occurred</doc>
+ </member>
+ <member name="unsupported" value="-2" c:identifier="GST_GL_UPLOAD_UNSUPPORTED" glib:nick="unsupported">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h">The configuration is unsupported.</doc>
+ </member>
+ <member name="reconfigure" value="-3" c:identifier="GST_GL_UPLOAD_RECONFIGURE" glib:nick="reconfigure">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h">This element requires a reconfiguration.</doc>
+ </member>
+ <member name="unshared_gl_context" value="-100" c:identifier="GST_GL_UPLOAD_UNSHARED_GL_CONTEXT" glib:nick="unshared-gl-context">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h">private return value.</doc>
+ </member>
+ </enumeration>
+ <record name="GLVideoAllocationParams" c:type="GstGLVideoAllocationParams" glib:type-name="GstGLVideoAllocationParams" glib:get-type="gst_gl_video_allocation_params_get_type" c:symbol-prefix="gl_video_allocation_params">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <field name="parent" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">the parent #GstGLAllocationParams structure</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams"/>
+ </field>
+ <field name="v_info" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">the #GstVideoInfo to allocate</doc>
+ <type name="GstVideo.VideoInfo" c:type="GstVideoInfo*"/>
+ </field>
+ <field name="plane" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">the video plane index to allocate</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="valign" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">the #GstVideoAlignment to align the system representation to (may be %NULL for the default)</doc>
+ <type name="GstVideo.VideoAlignment" c:type="GstVideoAlignment*"/>
+ </field>
+ <field name="target" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">the #GstGLTextureTarget to allocate</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </field>
+ <field name="tex_format" writable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">the #GstGLFormat to allocate</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <constructor name="new" c:identifier="gst_gl_video_allocation_params_new" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a new #GstGLVideoAllocationParams for allocating #GstGLMemory's</doc>
+ <type name="GLVideoAllocationParams" c:type="GstGLVideoAllocationParams*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="alloc_params" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstAllocationParams for sysmem mappings of the texture</doc>
+ <type name="Gst.AllocationParams" c:type="const GstAllocationParams*"/>
+ </parameter>
+ <parameter name="v_info" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstVideoInfo for the texture</doc>
+ <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
+ </parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the video plane of @v_info to allocate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="valign" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">any #GstVideoAlignment applied to symem mappings of the texture</doc>
+ <type name="GstVideo.VideoAlignment" c:type="const GstVideoAlignment*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLTextureTarget for the created textures</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ <parameter name="tex_format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLFormat for the created textures</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_wrapped_data" c:identifier="gst_gl_video_allocation_params_new_wrapped_data" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a new #GstGLVideoAllocationParams for wrapping @wrapped_data</doc>
+ <type name="GLVideoAllocationParams" c:type="GstGLVideoAllocationParams*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="alloc_params" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstAllocationParams for @wrapped_data</doc>
+ <type name="Gst.AllocationParams" c:type="const GstAllocationParams*"/>
+ </parameter>
+ <parameter name="v_info" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstVideoInfo for @wrapped_data</doc>
+ <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
+ </parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the video plane @wrapped_data represents</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="valign" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">any #GstVideoAlignment applied to symem mappings of @wrapped_data</doc>
+ <type name="GstVideo.VideoAlignment" c:type="const GstVideoAlignment*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLTextureTarget for @wrapped_data</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ <parameter name="tex_format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLFormat for @wrapped_data</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </parameter>
+ <parameter name="wrapped_data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the data pointer to wrap</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">user data to call @notify with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" nullable="1" allow-none="1" scope="async">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GDestroyNotify</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_wrapped_gl_handle" c:identifier="gst_gl_video_allocation_params_new_wrapped_gl_handle" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">@gl_handle is defined by the specific OpenGL handle being wrapped
+For #GstGLMemory and #GstGLMemoryPBO it is an OpenGL texture id.
+Other memory types may define it to require a different type of parameter.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a new #GstGLVideoAllocationParams for wrapping @gl_handle</doc>
+ <type name="GLVideoAllocationParams" c:type="GstGLVideoAllocationParams*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="alloc_params" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstAllocationParams for @tex_id</doc>
+ <type name="Gst.AllocationParams" c:type="const GstAllocationParams*"/>
+ </parameter>
+ <parameter name="v_info" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstVideoInfo for @tex_id</doc>
+ <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
+ </parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the video plane @tex_id represents</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="valign" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">any #GstVideoAlignment applied to symem mappings of @tex_id</doc>
+ <type name="GstVideo.VideoAlignment" c:type="const GstVideoAlignment*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLTextureTarget for @tex_id</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ <parameter name="tex_format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLFormat for @tex_id</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </parameter>
+ <parameter name="gl_handle" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the GL handle to wrap</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">user data to call @notify with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" nullable="1" allow-none="1" scope="async">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GDestroyNotify</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_wrapped_texture" c:identifier="gst_gl_video_allocation_params_new_wrapped_texture" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a new #GstGLVideoAllocationParams for wrapping @tex_id</doc>
+ <type name="GLVideoAllocationParams" c:type="GstGLVideoAllocationParams*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="alloc_params" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstAllocationParams for @tex_id</doc>
+ <type name="Gst.AllocationParams" c:type="const GstAllocationParams*"/>
+ </parameter>
+ <parameter name="v_info" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstVideoInfo for @tex_id</doc>
+ <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
+ </parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the video plane @tex_id represents</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="valign" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">any #GstVideoAlignment applied to symem mappings of @tex_id</doc>
+ <type name="GstVideo.VideoAlignment" c:type="const GstVideoAlignment*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLTextureTarget for @tex_id</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ <parameter name="tex_format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLFormat for @tex_id</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </parameter>
+ <parameter name="tex_id" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the GL texture to wrap</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">user data to call @notify with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" nullable="1" allow-none="1" scope="async">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GDestroyNotify</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="copy_data" c:identifier="gst_gl_video_allocation_params_copy_data" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">Copy and set any dynamically allocated resources in @dest_vid. Intended
+for subclass usage only to chain up at the end of a subclass copy function.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src_vid" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">source #GstGLVideoAllocationParams to copy from</doc>
+ <type name="GLVideoAllocationParams" c:type="GstGLVideoAllocationParams*"/>
+ </instance-parameter>
+ <parameter name="dest_vid" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">destination #GstGLVideoAllocationParams to copy into</doc>
+ <type name="GLVideoAllocationParams" c:type="GstGLVideoAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free_data" c:identifier="gst_gl_video_allocation_params_free_data" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">Unset and free any dynamically allocated resources. Intended for subclass
+usage only to chain up at the end of a subclass free function.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="params" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLVideoAllocationParams</doc>
+ <type name="GLVideoAllocationParams" c:type="GstGLVideoAllocationParams*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init_full" c:identifier="gst_gl_video_allocation_params_init_full" version="1.8" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">Intended for subclass usage</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">initializes @params with the parameters specified</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="params" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLVideoAllocationParams to initialize</doc>
+ <type name="GLVideoAllocationParams" c:type="GstGLVideoAllocationParams*"/>
+ </instance-parameter>
+ <parameter name="struct_size" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the size of the struct in @params</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="alloc_flags" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">some allocation flags</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="copy" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a copy function</doc>
+ <type name="GLAllocationParamsCopyFunc" c:type="GstGLAllocationParamsCopyFunc"/>
+ </parameter>
+ <parameter name="free" transfer-ownership="none" scope="notified" closure="13" destroy="14">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a free function</doc>
+ <type name="GLAllocationParamsFreeFunc" c:type="GstGLAllocationParamsFreeFunc"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="alloc_params" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstAllocationParams for @wrapped_data</doc>
+ <type name="Gst.AllocationParams" c:type="const GstAllocationParams*"/>
+ </parameter>
+ <parameter name="v_info" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstVideoInfo for @wrapped_data</doc>
+ <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
+ </parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the video plane @wrapped_data represents</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="valign" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">any #GstVideoAlignment applied to symem mappings of @wrapped_data</doc>
+ <type name="GstVideo.VideoAlignment" c:type="const GstVideoAlignment*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLTextureTarget</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ <parameter name="tex_format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLFormat</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </parameter>
+ <parameter name="wrapped_data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the optional data pointer to wrap</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="gl_handle" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the optional OpenGL handle to wrap or 0</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">user data to call @notify with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" nullable="1" allow-none="1" scope="async">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GDestroyNotify</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <class name="GLViewConvert" c:symbol-prefix="gl_view_convert" c:type="GstGLViewConvert" parent="Gst.Object" glib:type-name="GstGLViewConvert" glib:get-type="gst_gl_view_convert_get_type" glib:type-struct="GLViewConvertClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">Convert stereoscopic/multiview video using fragment shaders.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <constructor name="new" c:identifier="gst_gl_view_convert_new" version="1.6">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a new #GstGLViewConvert</doc>
+ <type name="GLViewConvert" c:type="GstGLViewConvert*"/>
+ </return-value>
+ </constructor>
+ <method name="fixate_caps" c:identifier="gst_gl_view_convert_fixate_caps" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">Provides an implementation of #GstBaseTransformClass.fixate_caps()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">the fixated #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="viewconvert" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a #GstGLViewConvert</doc>
+ <type name="GLViewConvert" c:type="GstGLViewConvert*"/>
+ </instance-parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a #GstPadDirection</doc>
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">the #GstCaps of @direction</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="othercaps" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">the #GstCaps to fixate</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_output" c:identifier="gst_gl_view_convert_get_output" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">Retrieve the processed output buffer placing the output in @outbuf_ptr.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a #GstFlowReturn</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="viewconvert" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a #GstGLViewConvert</doc>
+ <type name="GLViewConvert" c:type="GstGLViewConvert*"/>
+ </instance-parameter>
+ <parameter name="outbuf_ptr" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="perform" c:identifier="gst_gl_view_convert_perform" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">Converts the data contained by @inbuf using the formats specified by the
+#GstCaps passed to gst_gl_view_convert_set_caps()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a converted #GstBuffer or %NULL</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="viewconvert" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a #GstGLViewConvert</doc>
+ <type name="GLViewConvert" c:type="GstGLViewConvert*"/>
+ </instance-parameter>
+ <parameter name="inbuf" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">the #GstGLMemory filled #GstBuffer to convert</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="reset" c:identifier="gst_gl_view_convert_reset" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">Reset @viewconvert to the default state. Further operation will require
+setting the caps with gst_gl_view_convert_set_caps().</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="viewconvert" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a #GstGLViewConvert</doc>
+ <type name="GLViewConvert" c:type="GstGLViewConvert*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_caps" c:identifier="gst_gl_view_convert_set_caps" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">Initializes @viewconvert with the information required for conversion.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="viewconvert" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a #GstGLViewConvert</doc>
+ <type name="GLViewConvert" c:type="GstGLViewConvert*"/>
+ </instance-parameter>
+ <parameter name="in_caps" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">input #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="out_caps" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">output #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_context" c:identifier="gst_gl_view_convert_set_context" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">Set @context on @viewconvert</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="viewconvert" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a #GstGLViewConvert</doc>
+ <type name="GLViewConvert" c:type="GstGLViewConvert*"/>
+ </instance-parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">the #GstGLContext to set</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="submit_input_buffer" c:identifier="gst_gl_view_convert_submit_input_buffer" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">Submit @input to be processed by @viewconvert</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a #GstFlowReturn</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="viewconvert" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a #GstGLViewConvert</doc>
+ <type name="GLViewConvert" c:type="GstGLViewConvert*"/>
+ </instance-parameter>
+ <parameter name="is_discont" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">true if we have a discontinuity</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="input" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="transform_caps" c:identifier="gst_gl_view_convert_transform_caps" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">Provides an implementation of #GstBaseTransformClass.transform_caps()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">the converted #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="viewconvert" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a #GstGLViewConvert</doc>
+ <type name="GLViewConvert" c:type="GstGLViewConvert*"/>
+ </instance-parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a #GstPadDirection</doc>
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">the #GstCaps to transform</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.c">a set of filter #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="downmix-mode" writable="1" transfer-ownership="none">
+ <type name="GLStereoDownmix"/>
+ </property>
+ <property name="input-flags-override" writable="1" transfer-ownership="none">
+ <type name="GstVideo.VideoMultiviewFlags"/>
+ </property>
+ <property name="input-mode-override" writable="1" transfer-ownership="none">
+ <type name="GstVideo.VideoMultiviewMode"/>
+ </property>
+ <property name="output-flags-override" writable="1" transfer-ownership="none">
+ <type name="GstVideo.VideoMultiviewFlags"/>
+ </property>
+ <property name="output-mode-override" writable="1" transfer-ownership="none">
+ <type name="GstVideo.VideoMultiviewMode"/>
+ </property>
+ <field name="object">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="context">
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </field>
+ <field name="shader">
+ <type name="GLShader" c:type="GstGLShader*"/>
+ </field>
+ <field name="input_mode_override">
+ <type name="GstVideo.VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
+ </field>
+ <field name="input_flags_override">
+ <type name="GstVideo.VideoMultiviewFlags" c:type="GstVideoMultiviewFlags"/>
+ </field>
+ <field name="output_mode_override">
+ <type name="GstVideo.VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
+ </field>
+ <field name="output_flags_override">
+ <type name="GstVideo.VideoMultiviewFlags" c:type="GstVideoMultiviewFlags"/>
+ </field>
+ <field name="downmix_mode">
+ <type name="GLStereoDownmix" c:type="GstGLStereoDownmix"/>
+ </field>
+ <field name="in_info">
+ <type name="GstVideo.VideoInfo" c:type="GstVideoInfo"/>
+ </field>
+ <field name="out_info">
+ <type name="GstVideo.VideoInfo" c:type="GstVideoInfo"/>
+ </field>
+ <field name="from_texture_target">
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </field>
+ <field name="to_texture_target">
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </field>
+ <field name="caps_passthrough">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="initted">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="reconfigure">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="fbo">
+ <type name="GLFramebuffer" c:type="GstGLFramebuffer*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GLViewConvertPrivate" c:type="GstGLViewConvertPrivate*"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="GLViewConvertClass" c:type="GstGLViewConvertClass" glib:is-gtype-struct-for="GLViewConvert">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h">Opaque #GstGLViewConvertClass struct</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <field name="object_class" readable="0" private="1">
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="GLViewConvertPrivate" c:type="GstGLViewConvertPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_fwd.h"/>
+ </record>
+ <class name="GLWindow" c:symbol-prefix="gl_window" c:type="GstGLWindow" parent="Gst.Object" abstract="1" glib:type-name="GstGLWindow" glib:get-type="gst_gl_window_get_type" glib:type-struct="GLWindowClass">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">GstGLWindow represents a window that elements can render into. A window can
+either be a user visible window (onscreen) or hidden (offscreen).</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <constructor name="new" c:identifier="gst_gl_window_new" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a new #GstGLWindow using @display's connection</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </return-value>
+ <parameters>
+ <parameter name="display" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <virtual-method name="close">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="controls_viewport" invoker="controls_viewport" version="1.16">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Checks if @window controls the GL viewport.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">%TRUE if @window controls the GL viewport, otherwise %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="draw" invoker="draw" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Redraw the window contents. Implementations should invoke the draw callback.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_display" invoker="get_display" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the windowing system display handle for this @window</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_window_handle" invoker="get_window_handle" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the window handle we are currently rendering into</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="handle_events" invoker="handle_events">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Tell a @window that it should handle events from the window system. These
+events are forwarded upstream as navigation events. In some window systems
+events are not propagated in the window hierarchy if a client is listening
+for them. This method allows you to disable events handling completely
+from the @window.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="handle_events" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #gboolean indicating if events should be handled or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="has_output_surface" invoker="has_output_surface" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Query whether @window has output surface or not</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">%TRUE if @window has useable output surface</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="open" throws="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="queue_resize" invoker="queue_resize">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Queue resizing of @window.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="quit" invoker="quit" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Quit the runloop's execution.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="run" invoker="run" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Start the execution of the runloop.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="send_message" invoker="send_message" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Invoke @callback with data on the window thread. @callback is guaranteed to
+have executed when this function returns.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="callback" transfer-ownership="none" scope="async" closure="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">function to invoke</doc>
+ <type name="GLWindowCB" c:type="GstGLWindowCB"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">data to invoke @callback with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="send_message_async" invoker="send_message_async" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Invoke @callback with @data on the window thread. The callback may not
+have been executed when this function returns.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="callback" transfer-ownership="none" scope="notified" closure="1" destroy="2">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">function to invoke</doc>
+ <type name="GLWindowCB" c:type="GstGLWindowCB"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">data to invoke @callback with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">called when @data is not needed anymore</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_preferred_size" invoker="set_preferred_size" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Set the preferred width and height of the window. Implementations are free
+to ignore this information.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">new preferred width</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">new preferred height</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_render_rectangle" invoker="set_render_rectangle">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Tell a @window that it should render into a specific region of the window
+according to the #GstVideoOverlay interface.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">whether the specified region could be set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">x position</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">y position</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">width</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">height</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_window_handle" invoker="set_window_handle" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Sets the window that this @window should render into. Some implementations
+require this to be called with a valid handle before drawing can commence.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="handle" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">handle to the window</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="show" invoker="show" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Present the window to the screen.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="controls_viewport" c:identifier="gst_gl_window_controls_viewport" version="1.16">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Checks if @window controls the GL viewport.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">%TRUE if @window controls the GL viewport, otherwise %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="draw" c:identifier="gst_gl_window_draw" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Redraw the window contents. Implementations should invoke the draw callback.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_context" c:identifier="gst_gl_window_get_context" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the #GstGLContext associated with this @window</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_display" c:identifier="gst_gl_window_get_display" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the windowing system display handle for this @window</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_surface_dimensions" c:identifier="gst_gl_window_get_surface_dimensions" version="1.6">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="width" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">resulting surface width</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="height" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">resulting surface height</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_window_handle" c:identifier="gst_gl_window_get_window_handle" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the window handle we are currently rendering into</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="handle_events" c:identifier="gst_gl_window_handle_events">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Tell a @window that it should handle events from the window system. These
+events are forwarded upstream as navigation events. In some window systems
+events are not propagated in the window hierarchy if a client is listening
+for them. This method allows you to disable events handling completely
+from the @window.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="handle_events" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #gboolean indicating if events should be handled or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_output_surface" c:identifier="gst_gl_window_has_output_surface" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Query whether @window has output surface or not</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">%TRUE if @window has useable output surface</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="queue_resize" c:identifier="gst_gl_window_queue_resize">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Queue resizing of @window.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="quit" c:identifier="gst_gl_window_quit" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Quit the runloop's execution.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="resize" c:identifier="gst_gl_window_resize">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Resize @window to the given @width and @height.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">new width</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">new height</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="run" c:identifier="gst_gl_window_run" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Start the execution of the runloop.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="send_key_event" c:identifier="gst_gl_window_send_key_event">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="event_type" transfer-ownership="none">
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="key_str" transfer-ownership="none">
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_message" c:identifier="gst_gl_window_send_message" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Invoke @callback with data on the window thread. @callback is guaranteed to
+have executed when this function returns.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="callback" transfer-ownership="none" scope="async" closure="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">function to invoke</doc>
+ <type name="GLWindowCB" c:type="GstGLWindowCB"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">data to invoke @callback with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_message_async" c:identifier="gst_gl_window_send_message_async" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Invoke @callback with @data on the window thread. The callback may not
+have been executed when this function returns.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="callback" transfer-ownership="none" scope="notified" closure="1" destroy="2">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">function to invoke</doc>
+ <type name="GLWindowCB" c:type="GstGLWindowCB"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">data to invoke @callback with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">called when @data is not needed anymore</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_mouse_event" c:identifier="gst_gl_window_send_mouse_event">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="event_type" transfer-ownership="none">
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="button" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="posx" transfer-ownership="none">
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ <parameter name="posy" transfer-ownership="none">
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_scroll_event" c:identifier="gst_gl_window_send_scroll_event" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Notify a @window about a scroll event. A scroll signal holding the event
+coordinates will be emitted.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="posx" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">x position of the mouse cursor</doc>
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ <parameter name="posy" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">y position of the mouse cursor</doc>
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ <parameter name="delta_x" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the x offset of the scroll event</doc>
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ <parameter name="delta_y" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the y offset of the scroll event</doc>
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_close_callback" c:identifier="gst_gl_window_set_close_callback" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Sets the callback called when the window is about to close.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="callback" transfer-ownership="none" scope="notified" closure="1" destroy="2">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">function to invoke</doc>
+ <type name="GLWindowCB" c:type="GstGLWindowCB"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">data to invoke @callback with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">called when @data is not needed any more</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_draw_callback" c:identifier="gst_gl_window_set_draw_callback" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Sets the draw callback called every time gst_gl_window_draw() is called</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="callback" transfer-ownership="none" scope="notified" closure="1" destroy="2">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">function to invoke</doc>
+ <type name="GLWindowCB" c:type="GstGLWindowCB"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">data to invoke @callback with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">called when @data is not needed any more</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_preferred_size" c:identifier="gst_gl_window_set_preferred_size" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Set the preferred width and height of the window. Implementations are free
+to ignore this information.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">new preferred width</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">new preferred height</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_render_rectangle" c:identifier="gst_gl_window_set_render_rectangle">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Tell a @window that it should render into a specific region of the window
+according to the #GstVideoOverlay interface.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">whether the specified region could be set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">x position</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">y position</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">width</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">height</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_resize_callback" c:identifier="gst_gl_window_set_resize_callback" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Sets the resize callback called every time a resize of the window occurs.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="callback" transfer-ownership="none" scope="notified" closure="1" destroy="2">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">function to invoke</doc>
+ <type name="GLWindowResizeCB" c:type="GstGLWindowResizeCB"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">data to invoke @callback with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">called when @data is not needed any more</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_window_handle" c:identifier="gst_gl_window_set_window_handle" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Sets the window that this @window should render into. Some implementations
+require this to be called with a valid handle before drawing can commence.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ <parameter name="handle" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">handle to the window</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="show" c:identifier="gst_gl_window_show" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Present the window to the screen.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <field name="parent" readable="0" private="1">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="lock" readable="0" private="1">
+ <type name="GLib.Mutex" c:type="GMutex"/>
+ </field>
+ <field name="display" readable="0" private="1">
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </field>
+ <field name="context_ref" readable="0" private="1">
+ <type name="GObject.WeakRef" c:type="GWeakRef"/>
+ </field>
+ <field name="is_drawing" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="draw" readable="0" private="1">
+ <type name="GLWindowCB" c:type="GstGLWindowCB"/>
+ </field>
+ <field name="draw_data" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="draw_notify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="close" readable="0" private="1">
+ <type name="GLWindowCB" c:type="GstGLWindowCB"/>
+ </field>
+ <field name="close_data" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="close_notify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="resize" readable="0" private="1">
+ <type name="GLWindowResizeCB" c:type="GstGLWindowResizeCB"/>
+ </field>
+ <field name="resize_data" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="resize_notify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="queue_resize" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="main_context" readable="0" private="1">
+ <type name="GLib.MainContext" c:type="GMainContext*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GLWindowPrivate" c:type="GstGLWindowPrivate*"/>
+ </field>
+ <field name="_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="key-event" when="last" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Will be emitted when a key event is received by the GstGLwindow.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the name of the event</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the id of the key pressed</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="mouse-event" when="last" version="1.6">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Will be emitted when a mouse event is received by the GstGLwindow.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the name of the event</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="button" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the id of the button</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the x coordinate of the mouse event</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the y coordinate of the mouse event</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="scroll-event" when="last" version="1.18">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Will be emitted when a mouse scroll event is received by the GstGLwindow.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the x coordinate of the mouse event</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the y coordinate of the mouse event</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="delta_x" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the x offset of the scroll event</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="delta_y" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the y offset of the scroll event</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="window-handle-changed" when="last" version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Will be emitted when the window handle has been set into the native
+implementation, but before the context is re-activated. By using this
+signal, elements can refresh associated resource without relying on
+direct handle comparision.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ </class>
+ <callback name="GLWindowCB" c:type="GstGLWindowCB">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="GLWindowClass" c:type="GstGLWindowClass" glib:is-gtype-struct-for="GLWindow">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <field name="parent_class">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h">Parent class</doc>
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="get_display">
+ <callback name="get_display">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the windowing system display handle for this @window</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_window_handle">
+ <callback name="set_window_handle">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ <parameter name="handle" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">handle to the window</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_window_handle">
+ <callback name="get_window_handle">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the window handle we are currently rendering into</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="draw">
+ <callback name="draw">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="run">
+ <callback name="run">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="quit">
+ <callback name="quit">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="send_message">
+ <callback name="send_message">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ <parameter name="callback" transfer-ownership="none" scope="async" closure="2">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">function to invoke</doc>
+ <type name="GLWindowCB" c:type="GstGLWindowCB"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">data to invoke @callback with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="send_message_async">
+ <callback name="send_message_async">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ <parameter name="callback" transfer-ownership="none" scope="notified" closure="2" destroy="3">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">function to invoke</doc>
+ <type name="GLWindowCB" c:type="GstGLWindowCB"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">data to invoke @callback with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">called when @data is not needed anymore</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="open">
+ <callback name="open" throws="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="close">
+ <callback name="close">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_events">
+ <callback name="handle_events">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ <parameter name="handle_events" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #gboolean indicating if events should be handled or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_preferred_size">
+ <callback name="set_preferred_size">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">new preferred width</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">new preferred height</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="show">
+ <callback name="show">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_render_rectangle">
+ <callback name="set_render_rectangle">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">whether the specified region could be set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">x position</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">y position</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">width</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">height</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="queue_resize">
+ <callback name="queue_resize">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="controls_viewport">
+ <callback name="controls_viewport">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">%TRUE if @window controls the GL viewport, otherwise %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="has_output_surface">
+ <callback name="has_output_surface">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">%TRUE if @window has useable output surface</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="window" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
+ <type name="GLWindow" c:type="GstGLWindow*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="GLWindowError" glib:type-name="GstGLWindowError" glib:get-type="gst_gl_window_error_get_type" c:type="GstGLWindowError" glib:error-domain="gst-gl-window-error-quark">
+ <member name="failed" value="0" c:identifier="GST_GL_WINDOW_ERROR_FAILED" glib:nick="failed">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h">failed for a unspecified reason</doc>
+ </member>
+ <member name="old_libs" value="1" c:identifier="GST_GL_WINDOW_ERROR_OLD_LIBS" glib:nick="old-libs">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h">the implementation is too old</doc>
+ </member>
+ <member name="resource_unavailable" value="2" c:identifier="GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE" glib:nick="resource-unavailable">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h">no such resource was found</doc>
+ </member>
+ <function name="quark" c:identifier="gst_gl_window_error_quark">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the quark used for #GstGLWindow in #GError's</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ </enumeration>
+ <record name="GLWindowPrivate" c:type="GstGLWindowPrivate" disguised="1">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgl_fwd.h"/>
+ </record>
+ <callback name="GLWindowResizeCB" c:type="GstGLWindowResizeCB">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <constant name="GL_ALLOCATION_PARAMS_ALLOC_FLAG_ALLOC" value="1" c:type="GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_ALLOC">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">GL Allocation flag indicating that the implementation should allocate the
+necessary resources.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="GL_ALLOCATION_PARAMS_ALLOC_FLAG_BUFFER" value="16" c:type="GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_BUFFER">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h">GL allocation flag indicating the allocation of a GL buffer.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER" value="65536" c:type="GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">Values &gt;= than #GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER can be used for
+user-defined purposes.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO" value="8" c:type="GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">GL allocation flag indicating the allocation of 2D video frames</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE" value="4" c:type="GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">GL Allocation flag for using the provided GPU handle as storage.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM" value="2" c:type="GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">GL Allocation flag for using the provided system memory data as storage.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="GL_API_GLES1_NAME" value="gles1" c:type="GST_GL_API_GLES1_NAME">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">The name for %GST_GL_API_GLES1 used in various places</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="GL_API_GLES2_NAME" value="gles2" c:type="GST_GL_API_GLES2_NAME">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">The name for %GST_GL_API_GLES2 used in various places</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="GL_API_OPENGL3_NAME" value="opengl3" c:type="GST_GL_API_OPENGL3_NAME">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">The name for %GST_GL_API_OPENGL3 used in various places</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="GL_API_OPENGL_NAME" value="opengl" c:type="GST_GL_API_OPENGL_NAME">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h">The name for %GST_GL_API_OPENGL used in various places</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="GL_ASYNC_CAT_LEVEL_LOG_valist" c:identifier="GST_GL_ASYNC_CAT_LEVEL_LOG_valist" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h">Stores a debug message in @ad for later output</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h"/>
+ <parameters>
+ <parameter name="ad">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h">the #GstGLAsyncDebug to store the message in</doc>
+ </parameter>
+ <parameter name="cat">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h">the #GstDebugCategory to output the message in</doc>
+ </parameter>
+ <parameter name="level">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h">the #GstDebugLevel</doc>
+ </parameter>
+ <parameter name="object">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h">a #GObject to associate with the debug message</doc>
+ </parameter>
+ <parameter name="format">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h">a printf style format string</doc>
+ </parameter>
+ <parameter name="varargs">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h">the list of arguments for @format</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_BASE_FILTER" c:identifier="GST_GL_BASE_FILTER" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_BASE_FILTER_CLASS" c:identifier="GST_GL_BASE_FILTER_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_BASE_FILTER_GET_CLASS" c:identifier="GST_GL_BASE_FILTER_GET_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_BASE_MEMORY_ALLOCATOR" c:identifier="GST_GL_BASE_MEMORY_ALLOCATOR" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_BASE_MEMORY_ALLOCATOR_CAST" c:identifier="GST_GL_BASE_MEMORY_ALLOCATOR_CAST" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_BASE_MEMORY_ALLOCATOR_CLASS" c:identifier="GST_GL_BASE_MEMORY_ALLOCATOR_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_BASE_MEMORY_ALLOCATOR_GET_CLASS" c:identifier="GST_GL_BASE_MEMORY_ALLOCATOR_GET_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="GL_BASE_MEMORY_ALLOCATOR_NAME" value="GLBaseMemory" c:type="GST_GL_BASE_MEMORY_ALLOCATOR_NAME" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">The name of the GL buffer allocator</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="GL_BASE_MEMORY_CAST" c:identifier="GST_GL_BASE_MEMORY_CAST" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <parameters>
+ <parameter name="mem">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_BASE_SRC" c:identifier="GST_GL_BASE_SRC" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_BASE_SRC_CLASS" c:identifier="GST_GL_BASE_SRC_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_BASE_SRC_GET_CLASS" c:identifier="GST_GL_BASE_SRC_GET_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_BUFFER_ALLOCATOR" c:identifier="GST_GL_BUFFER_ALLOCATOR" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_BUFFER_ALLOCATOR_CAST" c:identifier="GST_GL_BUFFER_ALLOCATOR_CAST" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_BUFFER_ALLOCATOR_CLASS" c:identifier="GST_GL_BUFFER_ALLOCATOR_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_BUFFER_ALLOCATOR_GET_CLASS" c:identifier="GST_GL_BUFFER_ALLOCATOR_GET_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="GL_BUFFER_ALLOCATOR_NAME" value="GLBuffer" c:type="GST_GL_BUFFER_ALLOCATOR_NAME">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h">The name of the GL buffer allocator</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="GL_BUFFER_POOL" c:identifier="GST_GL_BUFFER_POOL" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_BUFFER_POOL_CAST" c:identifier="GST_GL_BUFFER_POOL_CAST" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_COLOR_CONVERT" c:identifier="GST_GL_COLOR_CONVERT" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_COLOR_CONVERT_CAST" c:identifier="GST_GL_COLOR_CONVERT_CAST" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_COLOR_CONVERT_CLASS" c:identifier="GST_GL_COLOR_CONVERT_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="GL_COLOR_CONVERT_EXT_FORMATS" value=", BGR10A2_LE, RGB10A2_LE, P010_10LE, P012_LE, P016_LE, Y212_LE, Y412_LE" c:type="GST_GL_COLOR_CONVERT_EXT_FORMATS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="GL_COLOR_CONVERT_FORMATS" value="{ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, GBRA, GBR, RGBP, BGRP, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, NV16, NV61, YUY2, UYVY, Y210, AYUV, VUYA, Y410, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64, A420, AV12, NV12_16L32S, NV12_4L4" c:type="GST_GL_COLOR_CONVERT_FORMATS">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h">The currently supported formats that can be converted</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="GL_COLOR_CONVERT_VIDEO_CAPS" value="video/x-raw(" c:type="GST_GL_COLOR_CONVERT_VIDEO_CAPS">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h">The currently supported #GstCaps that can be converted</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="GL_CONFIG_ATTRIB_GTYPE" c:identifier="GST_GL_CONFIG_ATTRIB_GTYPE" version="1.20" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h">Get a reference to the #GType of a particular configuration field.
+
+e.g. for `CONFIG_ID`: `GST_GL_CONFIG_ATTRIB_GTYPE (CONFIG_ID)`</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h"/>
+ <parameters>
+ <parameter name="UPPER_NAME">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_CONFIG_ATTRIB_NAME" c:identifier="GST_GL_CONFIG_ATTRIB_NAME" version="1.20" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h">Get a reference to the variable name of a particular configuration field.
+
+e.g. for `CONFIG_ID`: `GST_GL_CONFIG_ATTRIB_NAME (CONFIG_ID)`</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h"/>
+ <parameters>
+ <parameter name="UPPER_NAME">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="GL_CONFIG_STRUCTURE_NAME" value="gst-gl-context-config" c:type="GST_GL_CONFIG_STRUCTURE_NAME" version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h">The canonical name of a #GstStructure that contains a configuration for a
+#GstGLContext.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="GL_CONFIG_STRUCTURE_SET_ARGS" c:identifier="GST_GL_CONFIG_STRUCTURE_SET_ARGS" version="1.20" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h"/>
+ <parameters>
+ <parameter name="def_name">
+ </parameter>
+ <parameter name="ctype">
+ </parameter>
+ <parameter name="val">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_CONTEXT" c:identifier="GST_GL_CONTEXT" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <parameters>
+ <parameter name="o">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_CONTEXT_CLASS" c:identifier="GST_GL_CONTEXT_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <parameters>
+ <parameter name="k">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_CONTEXT_GET_CLASS" c:identifier="GST_GL_CONTEXT_GET_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <parameters>
+ <parameter name="o">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="GL_CONTEXT_TYPE_CGL" value="gst.gl.context.CGL" c:type="GST_GL_CONTEXT_TYPE_CGL">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="GL_CONTEXT_TYPE_EAGL" value="gst.gl.context.EAGL" c:type="GST_GL_CONTEXT_TYPE_EAGL">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="GL_CONTEXT_TYPE_EGL" value="gst.gl.context.EGL" c:type="GST_GL_CONTEXT_TYPE_EGL">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="GL_CONTEXT_TYPE_GLX" value="gst.gl.context.GLX" c:type="GST_GL_CONTEXT_TYPE_GLX">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="GL_CONTEXT_TYPE_WGL" value="gst.gl.context.WGL" c:type="GST_GL_CONTEXT_TYPE_WGL">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="GL_DEPRECATED_FOR" c:identifier="GST_GL_DEPRECATED_FOR" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gl-prelude.h"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_DISPLAY" c:identifier="GST_GL_DISPLAY" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_DISPLAY_CAST" c:identifier="GST_GL_DISPLAY_CAST" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_DISPLAY_CLASS" c:identifier="GST_GL_DISPLAY_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="GL_DISPLAY_CONTEXT_TYPE" value="gst.gl.GLDisplay" c:type="GST_GL_DISPLAY_CONTEXT_TYPE">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">The name used in #GstContext queries for requesting a #GstGLDisplay</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="GL_DISPLAY_GET_CLASS" c:identifier="GST_GL_DISPLAY_GET_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <parameters>
+ <parameter name="o">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_FILTER" c:identifier="GST_GL_FILTER" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_FILTER_CLASS" c:identifier="GST_GL_FILTER_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_FILTER_GET_CLASS" c:identifier="GST_GL_FILTER_GET_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_FRAMEBUFFER" c:identifier="GST_GL_FRAMEBUFFER" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_FRAMEBUFFER_CAST" c:identifier="GST_GL_FRAMEBUFFER_CAST" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_FRAMEBUFFER_CLASS" c:identifier="GST_GL_FRAMEBUFFER_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_MEMORY_ALLOCATOR" c:identifier="GST_GL_MEMORY_ALLOCATOR" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_MEMORY_ALLOCATOR_CAST" c:identifier="GST_GL_MEMORY_ALLOCATOR_CAST" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_MEMORY_ALLOCATOR_CLASS" c:identifier="GST_GL_MEMORY_ALLOCATOR_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_MEMORY_ALLOCATOR_GET_CLASS" c:identifier="GST_GL_MEMORY_ALLOCATOR_GET_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="GL_MEMORY_ALLOCATOR_NAME" value="GLMemory" c:type="GST_GL_MEMORY_ALLOCATOR_NAME">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">The name of the GL memory allocator</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="GL_MEMORY_CAST" c:identifier="GST_GL_MEMORY_CAST" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_MEMORY_PBO_ALLOCATOR" c:identifier="GST_GL_MEMORY_PBO_ALLOCATOR" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_MEMORY_PBO_ALLOCATOR_CAST" c:identifier="GST_GL_MEMORY_PBO_ALLOCATOR_CAST" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_MEMORY_PBO_ALLOCATOR_CLASS" c:identifier="GST_GL_MEMORY_PBO_ALLOCATOR_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_MEMORY_PBO_ALLOCATOR_GET_CLASS" c:identifier="GST_GL_MEMORY_PBO_ALLOCATOR_GET_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="GL_MEMORY_PBO_ALLOCATOR_NAME" value="GLMemoryPBO" c:type="GST_GL_MEMORY_PBO_ALLOCATOR_NAME">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h">The name of the GL Memory PBO allocator</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="GL_MEMORY_VIDEO_EXT_FORMATS" value=", BGR10A2_LE, RGB10A2_LE, P010_10LE, P012_LE, P016_LE, Y212_LE, Y412_LE" c:type="GST_GL_MEMORY_VIDEO_EXT_FORMATS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="GL_MEMORY_VIDEO_FORMATS_STR" value="{ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, GBRA, GBR, RGBP, BGRP, RGB, BGR, RGB16, BGR16, AYUV, VUYA, Y410, I420, YV12, NV12, NV21, NV16, NV61, YUY2, UYVY, Y210, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64, A420, AV12, NV12_16L32S, NV12_4L4" c:type="GST_GL_MEMORY_VIDEO_FORMATS_STR">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">List of video formats that are supported by #GstGLMemory</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="GL_OVERLAY_COMPOSITOR" c:identifier="GST_GL_OVERLAY_COMPOSITOR" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_OVERLAY_COMPOSITOR_CAST" c:identifier="GST_GL_OVERLAY_COMPOSITOR_CAST" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_OVERLAY_COMPOSITOR_CLASS" c:identifier="GST_GL_OVERLAY_COMPOSITOR_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_RENDERBUFFER_ALLOCATOR" c:identifier="GST_GL_RENDERBUFFER_ALLOCATOR" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_RENDERBUFFER_ALLOCATOR_CAST" c:identifier="GST_GL_RENDERBUFFER_ALLOCATOR_CAST" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_RENDERBUFFER_ALLOCATOR_CLASS" c:identifier="GST_GL_RENDERBUFFER_ALLOCATOR_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_RENDERBUFFER_ALLOCATOR_GET_CLASS" c:identifier="GST_GL_RENDERBUFFER_ALLOCATOR_GET_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="GL_RENDERBUFFER_ALLOCATOR_NAME" value="GLRenderbuffer" c:type="GST_GL_RENDERBUFFER_ALLOCATOR_NAME">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h">The name of the GL renderbuffer allocator</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="GL_RENDERBUFFER_CAST" c:identifier="GST_GL_RENDERBUFFER_CAST" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_SHADER" c:identifier="GST_GL_SHADER" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <parameters>
+ <parameter name="o">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_SHADER_CLASS" c:identifier="GST_GL_SHADER_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <parameters>
+ <parameter name="k">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_SHADER_GET_CLASS" c:identifier="GST_GL_SHADER_GET_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <parameters>
+ <parameter name="o">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="GL_TEXTURE_TARGET_2D_STR" value="2D" c:type="GST_GL_TEXTURE_TARGET_2D_STR">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">String used for %GST_GL_TEXTURE_TARGET_2D in things like caps values</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="GL_TEXTURE_TARGET_EXTERNAL_OES_STR" value="external-oes" c:type="GST_GL_TEXTURE_TARGET_EXTERNAL_OES_STR">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">String used for %GST_GL_TEXTURE_TARGET_EXTERNAL_OES in things like caps values</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="GL_TEXTURE_TARGET_RECTANGLE_STR" value="rectangle" c:type="GST_GL_TEXTURE_TARGET_RECTANGLE_STR">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h">String used for %GST_GL_TEXTURE_TARGET_RECTANGLE in things like caps values</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="GL_UPLOAD" c:identifier="GST_GL_UPLOAD" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_UPLOAD_CAST" c:identifier="GST_GL_UPLOAD_CAST" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_UPLOAD_CLASS" c:identifier="GST_GL_UPLOAD_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_VIEW_CONVERT" c:identifier="GST_GL_VIEW_CONVERT" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_VIEW_CONVERT_CLASS" c:identifier="GST_GL_VIEW_CONVERT_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_VIEW_CONVERT_GET_CLASS" c:identifier="GST_GL_VIEW_CONVERT_GET_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_WINDOW" c:identifier="GST_GL_WINDOW" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <parameters>
+ <parameter name="o">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_WINDOW_CB" c:identifier="GST_GL_WINDOW_CB" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h">Cast to the current function type for generic window callbacks</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <parameters>
+ <parameter name="f">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h">the function to cast</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_WINDOW_CLASS" c:identifier="GST_GL_WINDOW_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <parameters>
+ <parameter name="k">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_WINDOW_GET_CLASS" c:identifier="GST_GL_WINDOW_GET_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <parameters>
+ <parameter name="o">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_WINDOW_GET_LOCK" c:identifier="GST_GL_WINDOW_GET_LOCK" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <parameters>
+ <parameter name="w">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_WINDOW_LOCK" c:identifier="GST_GL_WINDOW_LOCK" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <parameters>
+ <parameter name="w">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_WINDOW_RESIZE_CB" c:identifier="GST_GL_WINDOW_RESIZE_CB" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h">Cast to the current function type for window resize callbacks</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <parameters>
+ <parameter name="f">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h">the function to cast</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GL_WINDOW_UNLOCK" c:identifier="GST_GL_WINDOW_UNLOCK" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <parameters>
+ <parameter name="w">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GLSL_STAGE" c:identifier="GST_IS_GLSL_STAGE" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <parameters>
+ <parameter name="o">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GLSL_STAGE_CLASS" c:identifier="GST_IS_GLSL_STAGE_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglslstage.h"/>
+ <parameters>
+ <parameter name="k">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_BASE_FILTER" c:identifier="GST_IS_GL_BASE_FILTER" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_BASE_FILTER_CLASS" c:identifier="GST_IS_GL_BASE_FILTER_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasefilter.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_BASE_MEMORY_ALLOCATOR" c:identifier="GST_IS_GL_BASE_MEMORY_ALLOCATOR" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_BASE_MEMORY_ALLOCATOR_CLASS" c:identifier="GST_IS_GL_BASE_MEMORY_ALLOCATOR_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_BASE_SRC" c:identifier="GST_IS_GL_BASE_SRC" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_BASE_SRC_CLASS" c:identifier="GST_IS_GL_BASE_SRC_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_BUFFER_ALLOCATOR" c:identifier="GST_IS_GL_BUFFER_ALLOCATOR" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_BUFFER_ALLOCATOR_CLASS" c:identifier="GST_IS_GL_BUFFER_ALLOCATOR_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_BUFFER_POOL" c:identifier="GST_IS_GL_BUFFER_POOL" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_COLOR_CONVERT" c:identifier="GST_IS_GL_COLOR_CONVERT" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_COLOR_CONVERT_CLASS" c:identifier="GST_IS_GL_COLOR_CONVERT_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_CONTEXT" c:identifier="GST_IS_GL_CONTEXT" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <parameters>
+ <parameter name="o">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_CONTEXT_CLASS" c:identifier="GST_IS_GL_CONTEXT_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.h"/>
+ <parameters>
+ <parameter name="k">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_DISPLAY" c:identifier="GST_IS_GL_DISPLAY" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_DISPLAY_CLASS" c:identifier="GST_IS_GL_DISPLAY_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_FILTER" c:identifier="GST_IS_GL_FILTER" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_FILTER_CLASS" c:identifier="GST_IS_GL_FILTER_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfilter.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_FRAMEBUFFER" c:identifier="GST_IS_GL_FRAMEBUFFER" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_FRAMEBUFFER_CLASS" c:identifier="GST_IS_GL_FRAMEBUFFER_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglframebuffer.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_MEMORY_ALLOCATOR" c:identifier="GST_IS_GL_MEMORY_ALLOCATOR" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_MEMORY_ALLOCATOR_CLASS" c:identifier="GST_IS_GL_MEMORY_ALLOCATOR_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_MEMORY_PBO_ALLOCATOR" c:identifier="GST_IS_GL_MEMORY_PBO_ALLOCATOR" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_MEMORY_PBO_ALLOCATOR_CLASS" c:identifier="GST_IS_GL_MEMORY_PBO_ALLOCATOR_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_OVERLAY_COMPOSITOR" c:identifier="GST_IS_GL_OVERLAY_COMPOSITOR" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_OVERLAY_COMPOSITOR_CLASS" c:identifier="GST_IS_GL_OVERLAY_COMPOSITOR_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_RENDERBUFFER_ALLOCATOR" c:identifier="GST_IS_GL_RENDERBUFFER_ALLOCATOR" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_RENDERBUFFER_ALLOCATOR_CLASS" c:identifier="GST_IS_GL_RENDERBUFFER_ALLOCATOR_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_SHADER" c:identifier="GST_IS_GL_SHADER" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <parameters>
+ <parameter name="o">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_SHADER_CLASS" c:identifier="GST_IS_GL_SHADER_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglshader.h"/>
+ <parameters>
+ <parameter name="k">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_UPLOAD" c:identifier="GST_IS_GL_UPLOAD" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_UPLOAD_CLASS" c:identifier="GST_IS_GL_UPLOAD_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglupload.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_VIEW_CONVERT" c:identifier="GST_IS_GL_VIEW_CONVERT" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_VIEW_CONVERT_CLASS" c:identifier="GST_IS_GL_VIEW_CONVERT_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_WINDOW" c:identifier="GST_IS_GL_WINDOW" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <parameters>
+ <parameter name="o">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GL_WINDOW_CLASS" c:identifier="GST_IS_GL_WINDOW_CLASS" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
+ <parameters>
+ <parameter name="k">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="MAP_GL" value="131072" c:type="GST_MAP_GL">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h">Flag indicating that we should map the GL object instead of to system memory.
+
+Combining #GST_MAP_GL with #GST_MAP_WRITE has the same semantics as though
+you are writing to OpenGL. Conversely, combining #GST_MAP_GL with
+#GST_MAP_READ has the same semantics as though you are reading from OpenGL.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function name="buffer_add_gl_sync_meta" c:identifier="gst_buffer_add_gl_sync_meta" version="1.6">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">the #GstGLSyncMeta added to #GstBuffer</doc>
+ <type name="GLSyncMeta" c:type="GstGLSyncMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_add_gl_sync_meta_full" c:identifier="gst_buffer_add_gl_sync_meta_full" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">the #GstGLSyncMeta added to #GstBuffer</doc>
+ <type name="GLSyncMeta" c:type="GstGLSyncMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.c">sync data to hold</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="buffer_get_gl_sync_meta" c:identifier="gst_buffer_get_gl_sync_meta" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="buffer_pool_config_get_gl_allocation_params" c:identifier="gst_buffer_pool_config_get_gl_allocation_params">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.c">the currently set #GstGLAllocationParams or %NULL</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams*"/>
+ </return-value>
+ <parameters>
+ <parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.c">a buffer pool config</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_pool_config_set_gl_allocation_params" c:identifier="gst_buffer_pool_config_set_gl_allocation_params">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.c">Sets @params on @config</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.c">a buffer pool config</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbufferpool.c">a #GstGLAllocationParams</doc>
+ <type name="GLAllocationParams" c:type="const GstGLAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="context_get_gl_display" c:identifier="gst_context_get_gl_display" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">Whether @display was in @context</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstContext</doc>
+ <type name="Gst.Context" c:type="GstContext*"/>
+ </parameter>
+ <parameter name="display" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1" optional="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">resulting #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="context_set_gl_display" c:identifier="gst_context_set_gl_display" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">Sets @display on @context</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">a #GstContext</doc>
+ <type name="Gst.Context" c:type="GstContext*"/>
+ </parameter>
+ <parameter name="display" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.c">resulting #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_api_from_string" c:identifier="gst_gl_api_from_string" moved-to="GLAPI.from_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">The #GstGLAPI represented by @api_s</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </return-value>
+ <parameters>
+ <parameter name="api_s" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">a space separated string of OpenGL apis</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_api_to_string" c:identifier="gst_gl_api_to_string" moved-to="GLAPI.to_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">A space separated string of the OpenGL api's enabled in @api</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="api" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">a #GstGLAPI to stringify</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_async_debug_new" c:identifier="gst_gl_async_debug_new" moved-to="GLAsyncDebug.new" version="1.8" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">Free with gst_gl_async_debug_free()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h"/>
+ <return-value>
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">a new #GstGLAsyncDebug</doc>
+ <type name="GLAsyncDebug" c:type="GstGLAsyncDebug*"/>
+ </return-value>
+ </function>
+ <function name="gl_base_memory_alloc" c:identifier="gst_gl_base_memory_alloc" moved-to="GLBaseMemory.alloc" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">a new #GstGLBaseMemory from @allocator with the requested @params.</doc>
+ <type name="GLBaseMemory" c:type="GstGLBaseMemory*"/>
+ </return-value>
+ <parameters>
+ <parameter name="allocator" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">a #GstGLBaseMemoryAllocator</doc>
+ <type name="GLBaseMemoryAllocator" c:type="GstGLBaseMemoryAllocator*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the #GstGLAllocationParams to allocate the memory with</doc>
+ <type name="GLAllocationParams" c:type="GstGLAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_base_memory_error_quark" c:identifier="gst_gl_base_memory_error_quark" moved-to="GLBaseMemoryError.quark">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">the quark used for #GstGLBaseMemory in #GError's</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="gl_base_memory_init_once" c:identifier="gst_gl_base_memory_init_once" moved-to="GLBaseMemory.init_once" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">Initializes the GL Base Memory allocator. It is safe to call this function
+multiple times. This must be called before any other GstGLBaseMemory operation.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="gl_buffer_init_once" c:identifier="gst_gl_buffer_init_once" moved-to="GLBuffer.init_once" version="1.8">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.c">Initializes the GL Buffer allocator. It is safe to call this function
+multiple times. This must be called before any other #GstGLBuffer operation.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="gl_check_extension" c:identifier="gst_gl_check_extension">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfeature.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfeature.c">whether @name is in the space separated list of @ext</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfeature.c">the extension to search for</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="ext" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglfeature.c">the list of possible extensions</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_config_caveat_to_string" c:identifier="gst_gl_config_caveat_to_string" moved-to="GLConfigCaveat.to_string" version="1.20">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.c">a string version of @caveat or %NULL if @caveat does not
+ exist.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caveat" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.c">the #GstGLConfigCaveat</doc>
+ <type name="GLConfigCaveat" c:type="GstGLConfigCaveat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_config_surface_type_to_string" c:identifier="gst_gl_config_surface_type_to_string" moved-to="GLConfigSurfaceType.to_string" version="1.20">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.c">a string version of @caveat or %NULL if @surface_type does not
+ exist.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="surface_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.c">the #GstGLConfigSurfaceType</doc>
+ <type name="GLConfigSurfaceType" c:type="GstGLConfigSurfaceType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_context_error_quark" c:identifier="gst_gl_context_error_quark" moved-to="GLContextError.quark">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontext.c">the quark used for #GstGLContext in #GError's</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function-macro name="gl_display_lock" c:identifier="gst_gl_display_lock" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <parameters>
+ <parameter name="display">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="gl_display_unlock" c:identifier="gst_gl_display_unlock" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h"/>
+ <parameters>
+ <parameter name="display">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="gl_element_propagate_display_context" c:identifier="gst_gl_element_propagate_display_context">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="display" transfer-ownership="none">
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_ensure_element_data" c:identifier="gst_gl_ensure_element_data">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">Perform the steps necessary for retrieving a #GstGLDisplay and (optionally)
+an application provided #GstGLContext from the surrounding elements or from
+the application using the #GstContext mechanism.
+
+If the contents of @display_ptr or @other_context_ptr are not %NULL, then no
+#GstContext query is necessary for #GstGLDisplay or #GstGLContext retrieval
+or is performed.
+
+This performs #GstContext queries (if necessary) for a winsys display
+connection with %GST_GL_DISPLAY_CONTEXT_TYPE, "gst.x11.display.handle", and
+"GstWaylandDisplayHandleContextType" stopping after the first successful
+retrieval.
+
+This also performs a #GstContext query (if necessary) for an optional
+application provided #GstGLContext using the name "gst.gl.app_context".
+The returned #GstGLContext will be shared with a GStreamer created OpenGL context.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">whether a #GstGLDisplay exists in @display_ptr</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">the #GstElement running the query</doc>
+ <type name="Gst.Element" c:type="gpointer"/>
+ </parameter>
+ <parameter name="display_ptr" direction="inout" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">the resulting #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay**"/>
+ </parameter>
+ <parameter name="other_context_ptr" direction="inout" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">the resulting #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_format_from_video_info" c:identifier="gst_gl_format_from_video_info" moved-to="GLFormat.from_video_info">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the #GstGLFormat necessary for holding the data in @plane of @vinfo</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="vinfo" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a #GstVideoInfo</doc>
+ <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
+ </parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the plane number in @vinfo</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_format_is_supported" c:identifier="gst_gl_format_is_supported" moved-to="GLFormat.is_supported" version="1.16">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">Whether @format is supported by @context based on the OpenGL API,
+ version, or available OpenGL extension/s.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the #GstGLFormat to check is supported by @context</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_format_type_from_sized_gl_format" c:identifier="gst_gl_format_type_from_sized_gl_format" moved-to="GLFormat.type_from_sized_gl_format" version="1.16">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">Get the unsized format and type from @format for usage in glReadPixels,
+glTex{Sub}Image*, glTexImage* and similar functions.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the sized internal #GstGLFormat</doc>
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </parameter>
+ <parameter name="unsized_format" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">location for the resulting unsized #GstGLFormat</doc>
+ <type name="GLFormat" c:type="GstGLFormat*"/>
+ </parameter>
+ <parameter name="gl_type" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">location for the resulting GL type</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_format_type_n_bytes" c:identifier="gst_gl_format_type_n_bytes" moved-to="GLFormat.type_n_bytes">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the number of bytes the specified @format, @type combination takes
+per pixel</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the OpenGL format, `GL_RGBA`, `GL_LUMINANCE`, etc</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the OpenGL type, `GL_UNSIGNED_BYTE`, `GL_FLOAT`, etc</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_get_affine_transformation_meta_as_ndc" c:identifier="gst_gl_get_affine_transformation_meta_as_ndc" version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">Retrieves the stored 4x4 affine transformation matrix stored in @meta in
+NDC coordinates. if @meta is NULL, an identity matrix is returned.
+
+NDC is a left-handed coordinate system
+- x - [-1, 1] - +ve X moves right
+- y - [-1, 1] - +ve Y moves up
+- z - [-1, 1] - +ve Z moves into</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="meta" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a #GstVideoAffineTransformationMeta</doc>
+ <type name="GstVideo.VideoAffineTransformationMeta" c:type="GstVideoAffineTransformationMeta*"/>
+ </parameter>
+ <parameter name="matrix" direction="out" caller-allocates="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">result of the 4x4 matrix</doc>
+ <array zero-terminated="0" c:type="gfloat*" fixed-size="16">
+ <type name="gfloat" c:type="gfloat"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_get_plane_data_size" c:identifier="gst_gl_get_plane_data_size">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">Retrieve the size in bytes of a video plane of data with a certain alignment</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.h"/>
+ <return-value transfer-ownership="none">
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a #GstVideoInfo</doc>
+ <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
+ </parameter>
+ <parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a #GstVideoAlignment or %NULL</doc>
+ <type name="GstVideo.VideoAlignment" c:type="const GstVideoAlignment*"/>
+ </parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">plane number in @info to retrieve the data size of</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_get_plane_start" c:identifier="gst_gl_get_plane_start">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">difference between the supposed start of the plane from the @info
+ and where the data from the previous plane ends.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a #GstVideoInfo</doc>
+ <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
+ </parameter>
+ <parameter name="valign" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a #GstVideoAlignment or %NULL</doc>
+ <type name="GstVideo.VideoAlignment" c:type="const GstVideoAlignment*"/>
+ </parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">plane number in @info to retrieve the data size of</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_handle_context_query" c:identifier="gst_gl_handle_context_query">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">Whether the @query was successfully responded to from the passed
+ @display, @context, and @other_context.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a #GstElement</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a #GstQuery of type %GST_QUERY_CONTEXT</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="display" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="other_context" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">application provided #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_handle_set_context" c:identifier="gst_gl_handle_set_context">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">Helper function for implementing #GstElementClass.set_context() in
+OpenGL capable elements.
+
+Retrieve's the #GstGLDisplay or #GstGLContext in @context and places the
+result in @display or @other_context respectively.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">whether the @display or @other_context could be set successfully</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a #GstElement</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a #GstContext</doc>
+ <type name="Gst.Context" c:type="GstContext*"/>
+ </parameter>
+ <parameter name="display" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">location of a #GstGLDisplay</doc>
+ <type name="GLDisplay" c:type="GstGLDisplay**"/>
+ </parameter>
+ <parameter name="other_context" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">location of a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_insert_debug_marker" c:identifier="gst_gl_insert_debug_marker" version="1.8" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">Inserts a marker into a GL debug stream. Requires the 'gldebugmarker'
+debug category to be at least %GST_LEVEL_FIXME.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">a printf-style format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldebug.c">arguments form @format</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_memory_init_once" c:identifier="gst_gl_memory_init_once" moved-to="GLMemory.init_once" version="1.4">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">Initializes the GL Base Texture allocator. It is safe to call this function
+multiple times. This must be called before any other GstGLMemory operation.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="gl_memory_pbo_init_once" c:identifier="gst_gl_memory_pbo_init_once" moved-to="GLMemoryPBO.init_once">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="gl_memory_setup_buffer" c:identifier="gst_gl_memory_setup_buffer" moved-to="GLMemory.setup_buffer" version="1.8" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">whether the buffer was correctly setup</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="allocator" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the @GstGLMemoryAllocator to allocate from</doc>
+ <type name="GLMemoryAllocator" c:type="GstGLMemoryAllocator*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstBuffer to setup</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the #GstGLVideoAllocationParams to allocate with</doc>
+ <type name="GLVideoAllocationParams" c:type="GstGLVideoAllocationParams*"/>
+ </parameter>
+ <parameter name="tex_formats" transfer-ownership="none" nullable="1" allow-none="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">
+ a list of #GstGLFormat's to allocate with.</doc>
+ <array length="5" zero-terminated="0" c:type="GstGLFormat*">
+ <type name="GLFormat" c:type="GstGLFormat"/>
+ </array>
+ </parameter>
+ <parameter name="wrapped_data" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">
+ a list of wrapped data pointers</doc>
+ <array length="5" zero-terminated="0" c:type="gpointer*">
+ <type name="gpointer"/>
+ </array>
+ </parameter>
+ <parameter name="n_wrapped_pointers" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">the number of elements in @tex_formats and @wrapped_data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_multiply_matrix4" c:identifier="gst_gl_multiply_matrix4" version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">Multiplies two 4x4 matrices, @a and @b, and stores the result, a
+2-dimensional array of #gfloat, in @result.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="a" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a 2-dimensional 4x4 array of #gfloat</doc>
+ <array zero-terminated="0" c:type="const gfloat*" fixed-size="16">
+ <type name="gfloat" c:type="gfloat"/>
+ </array>
+ </parameter>
+ <parameter name="b" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">another 2-dimensional 4x4 array of #gfloat</doc>
+ <array zero-terminated="0" c:type="const gfloat*" fixed-size="16">
+ <type name="gfloat" c:type="gfloat"/>
+ </array>
+ </parameter>
+ <parameter name="result" direction="out" caller-allocates="1" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">the result of the multiplication</doc>
+ <array zero-terminated="0" c:type="gfloat*" fixed-size="16">
+ <type name="gfloat" c:type="gfloat"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_platform_from_string" c:identifier="gst_gl_platform_from_string" moved-to="GLPlatform.from_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">The #GstGLPlatform represented by @platform_s</doc>
+ <type name="GLPlatform" c:type="GstGLPlatform"/>
+ </return-value>
+ <parameters>
+ <parameter name="platform_s" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">a space separated string of OpenGL platformss</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_platform_to_string" c:identifier="gst_gl_platform_to_string" moved-to="GLPlatform.to_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.h"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">A space separated string of the OpenGL platforms enabled in @platform</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="platform" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">a #GstGLPlatform to stringify</doc>
+ <type name="GLPlatform" c:type="GstGLPlatform"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="gl_query_counter_log_valist" c:identifier="gst_gl_query_counter_log_valist" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.h"/>
+ <parameters>
+ <parameter name="query">
+ </parameter>
+ <parameter name="cat">
+ </parameter>
+ <parameter name="level">
+ </parameter>
+ <parameter name="object">
+ </parameter>
+ <parameter name="format">
+ </parameter>
+ <parameter name="varargs">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="gl_query_local_gl_context" c:identifier="gst_gl_query_local_gl_context" moved-to="GLQuery.local_gl_context">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">Performs a GST_QUERY_CONTEXT query of type "gst.gl.local_context" on all
+#GstPads in @element of @direction for the local OpenGL context used by
+GStreamer elements.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">whether @context_ptr contains a #GstGLContext</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a #GstElement to query from</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">the #GstPadDirection to query</doc>
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="context_ptr" direction="inout" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">location containing the current and/or resulting
+ #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_query_new" c:identifier="gst_gl_query_new" moved-to="GLQuery.new" version="1.10" introspectable="0">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">Free with gst_gl_query_free()</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.h"/>
+ <return-value>
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">a new #GstGLQuery</doc>
+ <type name="GLQuery" c:type="GstGLQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="query_type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.c">the #GstGLQueryType to create</doc>
+ <type name="GLQueryType" c:type="GstGLQueryType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="gl_query_start_log_valist" c:identifier="gst_gl_query_start_log_valist" introspectable="0">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglquery.h"/>
+ <parameters>
+ <parameter name="query">
+ </parameter>
+ <parameter name="cat">
+ </parameter>
+ <parameter name="level">
+ </parameter>
+ <parameter name="object">
+ </parameter>
+ <parameter name="format">
+ </parameter>
+ <parameter name="varargs">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="gl_renderbuffer_init_once" c:identifier="gst_gl_renderbuffer_init_once" moved-to="GLRenderbuffer.init_once" version="1.10">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">Initializes the GL Base Texture allocator. It is safe to call this function
+multiple times. This must be called before any other GstGLRenderbuffer operation.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="gl_set_affine_transformation_meta_from_ndc" c:identifier="gst_gl_set_affine_transformation_meta_from_ndc" version="1.20">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">Set the 4x4 affine transformation matrix stored in @meta from the
+NDC coordinates in @matrix.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.h"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a #GstVideoAffineTransformationMeta</doc>
+ <type name="GstVideo.VideoAffineTransformationMeta" c:type="GstVideoAffineTransformationMeta*"/>
+ </parameter>
+ <parameter name="matrix" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a 4x4 matrix</doc>
+ <array zero-terminated="0" c:type="const gfloat*" fixed-size="16">
+ <type name="gfloat" c:type="gfloat"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_sized_gl_format_from_gl_format_type" c:identifier="gst_gl_sized_gl_format_from_gl_format_type">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the sized internal format specified by @format and @type that can
+ be used in @context</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a #GstGLContext</doc>
+ <type name="GLContext" c:type="GstGLContext*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">an OpenGL format, `GL_RGBA`, `GL_LUMINANCE`, etc</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">an OpenGL type, `GL_UNSIGNED_BYTE`, `GL_FLOAT`, etc</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_stereo_downmix_mode_get_type" c:identifier="gst_gl_stereo_downmix_mode_get_type">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglviewconvert.h"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="gl_sync_meta_api_get_type" c:identifier="gst_gl_sync_meta_api_get_type">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="gl_sync_meta_get_info" c:identifier="gst_gl_sync_meta_get_info" moved-to="GLSyncMeta.get_info">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsyncmeta.h"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="gl_texture_target_from_gl" c:identifier="gst_gl_texture_target_from_gl" moved-to="GLTextureTarget.from_gl">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the #GstGLTextureTarget that's equiavalant to @target or
+ %GST_GL_TEXTURE_TARGET_NONE</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </return-value>
+ <parameters>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">an OpenGL texture binding target</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_texture_target_from_string" c:identifier="gst_gl_texture_target_from_string" moved-to="GLTextureTarget.from_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the #GstGLTextureTarget represented by @str or
+ %GST_GL_TEXTURE_TARGET_NONE</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a string equivalent to one of the GST_GL_TEXTURE_TARGET_*_STR values</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_texture_target_to_buffer_pool_option" c:identifier="gst_gl_texture_target_to_buffer_pool_option" moved-to="GLTextureTarget.to_buffer_pool_option">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a string representing the @GstBufferPoolOption specified by @target</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a #GstGLTextureTarget</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_texture_target_to_gl" c:identifier="gst_gl_texture_target_to_gl" moved-to="GLTextureTarget.to_gl">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the OpenGL value for binding the @target with glBindTexture() and
+ similar functions or 0</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a #GstGLTextureTarget</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_texture_target_to_string" c:identifier="gst_gl_texture_target_to_string" moved-to="GLTextureTarget.to_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">the stringified version of @target or %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">a #GstGLTextureTarget</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_value_get_texture_target_mask" c:identifier="gst_gl_value_get_texture_target_mask">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">See gst_gl_value_set_texture_target_from_mask() for what entails a mask</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">the mask of #GstGLTextureTarget's in @value or
+ %GST_GL_TEXTURE_TARGET_NONE on failure</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">an initialized #GValue of type G_TYPE_STRING</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_value_set_texture_target" c:identifier="gst_gl_value_set_texture_target">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">whether the @target could be set on @value</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">an initialized #GValue of type G_TYPE_STRING</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a #GstGLTextureTarget's</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_value_set_texture_target_from_mask" c:identifier="gst_gl_value_set_texture_target_from_mask">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">A mask is a bitwise OR of (1 &lt;&lt; target) where target is a valid
+#GstGLTextureTarget</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">whether the @target_mask could be set on @value</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">an uninitialized #GValue</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="target_mask" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglutils.c">a bitwise mask of #GstGLTextureTarget's</doc>
+ <type name="GLTextureTarget" c:type="GstGLTextureTarget"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_version_to_glsl_version" c:identifier="gst_gl_version_to_glsl_version">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">The minimum supported #GstGLSLVersion available for @gl_api, @maj and @min</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </return-value>
+ <parameters>
+ <parameter name="gl_api" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">the #GstGLAPI</doc>
+ <type name="GLAPI" c:type="GstGLAPI"/>
+ </parameter>
+ <parameter name="maj" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">the major GL version</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="min" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">the minor GL version</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="gl_window_error_quark" c:identifier="gst_gl_window_error_quark" moved-to="GLWindowError.quark">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">the quark used for #GstGLWindow in #GError's</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="glsl_error_quark" c:identifier="gst_glsl_error_quark" moved-to="GLSLError.quark">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">the quark used for GstGLSL in #GError's</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="glsl_profile_from_string" c:identifier="gst_glsl_profile_from_string" moved-to="GLSLProfile.from_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">the #GstGLSLProfile of @string or %GST_GLSL_PROFILE_NONE on error</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a GLSL version string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="glsl_profile_to_string" c:identifier="gst_glsl_profile_to_string" moved-to="GLSLProfile.to_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">the name for @profile or %NULL on error</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLSLProfile</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="glsl_string_get_version_profile" c:identifier="gst_glsl_string_get_version_profile">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">Note: this function first searches the first 1 kilobytes for a `#version`
+preprocessor directive and then executes gst_glsl_version_profile_from_string().</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">TRUE if a valid `#version` string was found, FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="s" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">string to search for a valid `#version` string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="version" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">resulting #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion*"/>
+ </parameter>
+ <parameter name="profile" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">resulting #GstGLSLProfile</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="glsl_version_from_string" c:identifier="gst_glsl_version_from_string" moved-to="GLSLVersion.from_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">the #GstGLSLVersion of @string or %GST_GLSL_VERSION_NONE on error</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a GLSL version string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="glsl_version_profile_from_string" c:identifier="gst_glsl_version_profile_from_string" moved-to="GLSLVersion.profile_from_string">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">Note: this function expects either a `#version` GLSL preprocesser directive
+or a valid GLSL version and/or profile.</doc>
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">TRUE if a valid `#version` string was found, FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a valid GLSL `#version` string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="version_ret" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">resulting #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion*"/>
+ </parameter>
+ <parameter name="profile_ret" direction="out" caller-allocates="0" transfer-ownership="full">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">resulting #GstGLSLVersion</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="glsl_version_profile_to_string" c:identifier="gst_glsl_version_profile_to_string" moved-to="GLSLVersion.profile_to_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">the combined GLSL `#version` string for @version and @profile</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLSLVersion</doc>
+ <type name="GLSLProfile" c:type="GstGLSLProfile"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="glsl_version_to_string" c:identifier="gst_glsl_version_to_string" moved-to="GLSLVersion.to_string">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.h"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">the name of @version or %NULL on error</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglsl.c">a #GstGLSLVersion</doc>
+ <type name="GLSLVersion" c:type="GstGLSLVersion"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="is_gl_base_memory" c:identifier="gst_is_gl_base_memory" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">whether the memory at @mem is a #GstGLBaseMemory</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.c">a #GstMemory</doc>
+ <type name="Gst.Memory" c:type="GstMemory*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="is_gl_buffer" c:identifier="gst_is_gl_buffer" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.c">whether the memory at @mem is a #GstGLBuffer</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbuffer.c">a #GstMemory</doc>
+ <type name="Gst.Memory" c:type="GstMemory*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="is_gl_memory" c:identifier="gst_is_gl_memory" version="1.4">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">whether the memory at @mem is a #GstGLMemory</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.c">a #GstMemory</doc>
+ <type name="Gst.Memory" c:type="GstMemory*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="is_gl_memory_pbo" c:identifier="gst_is_gl_memory_pbo" version="1.8">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">whether the memory at @mem is a #GstGLMemoryPBO</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemorypbo.c">a #GstMemory</doc>
+ <type name="Gst.Memory" c:type="GstMemory*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="is_gl_renderbuffer" c:identifier="gst_is_gl_renderbuffer" version="1.10">
+ <source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.h"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">whether the memory at @mem is a #GstGLRenderbuffer</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglrenderbuffer.c">a #GstMemory</doc>
+ <type name="Gst.Memory" c:type="GstMemory*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>