diff options
Diffstat (limited to 'girs/GstGL-1.0.gir')
-rw-r--r-- | girs/GstGL-1.0.gir | 11089 |
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 >= 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 >= 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->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. + +|[<!-- language="C" --> +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'. + +> Certain window systems require a special function to be called to +> initialize threading support. As this GStreamer GL library does not preclude +> concurrent access to the windowing system, it is strongly advised that +> applications ensure that threading support has been initialized before any +> other toolkit/library functionality is accessed. Failure to do so could +> result in sudden application abortion during execution. The most notably +> 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 >= 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 << 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> |