mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-22 01:31:03 +00:00
gl: update docs for mixer move
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4608>
This commit is contained in:
parent
e9bf1c79cc
commit
8003acf5bb
7 changed files with 654 additions and 83 deletions
|
@ -1049,6 +1049,137 @@ function to allocate and OpenGL resources needed for your application</doc>
|
|||
to the texture</doc>
|
||||
</member>
|
||||
</bitfield>
|
||||
<class name="GLBaseMixer" c:symbol-prefix="gl_base_mixer" c:type="GstGLBaseMixer" version="1.24" parent="GstVideo.VideoAggregator" abstract="1" glib:type-name="GstGLBaseMixer" glib:get-type="gst_gl_base_mixer_get_type" glib:type-struct="GLBaseMixerClass">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.c">#GstGLBaseMixer handles the nitty gritty details of retrieving an OpenGL
|
||||
context. It provides some virtual methods to know when the OpenGL context
|
||||
is available and is not available within this element.</doc>
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<virtual-method name="gl_start" version="1.24">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h">called in the GL thread to setup the element GL state.</doc>
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h">whether the start was successful</doc>
|
||||
<type name="gboolean" c:type="gboolean"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<instance-parameter name="mix" transfer-ownership="none">
|
||||
<type name="GLBaseMixer" c:type="GstGLBaseMixer*"/>
|
||||
</instance-parameter>
|
||||
</parameters>
|
||||
</virtual-method>
|
||||
<virtual-method name="gl_stop" version="1.24">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h">called in the GL thread to setup the element GL state.</doc>
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<instance-parameter name="mix" transfer-ownership="none">
|
||||
<type name="GLBaseMixer" c:type="GstGLBaseMixer*"/>
|
||||
</instance-parameter>
|
||||
</parameters>
|
||||
</virtual-method>
|
||||
<method name="get_gl_context" c:identifier="gst_gl_base_mixer_get_gl_context" version="1.24">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<return-value transfer-ownership="full" nullable="1">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.c">the #GstGLContext found by @mix</doc>
|
||||
<type name="GLContext" c:type="GstGLContext*"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<instance-parameter name="mix" transfer-ownership="none">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.c">a #GstGLBaseMixer</doc>
|
||||
<type name="GLBaseMixer" c:type="GstGLBaseMixer*"/>
|
||||
</instance-parameter>
|
||||
</parameters>
|
||||
</method>
|
||||
<property name="context" version="1.24" transfer-ownership="none">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.c">The #GstGLContext in use by this #GstGLBaseMixer</doc>
|
||||
<type name="GLContext"/>
|
||||
</property>
|
||||
<field name="parent">
|
||||
<type name="GstVideo.VideoAggregator" c:type="GstVideoAggregator"/>
|
||||
</field>
|
||||
<field name="display">
|
||||
<type name="GLDisplay" c:type="GstGLDisplay*"/>
|
||||
</field>
|
||||
<field name="context">
|
||||
<type name="GLContext" c:type="GstGLContext*"/>
|
||||
</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="GLBaseMixerPrivate" c:type="GstGLBaseMixerPrivate*"/>
|
||||
</field>
|
||||
</class>
|
||||
<record name="GLBaseMixerClass" c:type="GstGLBaseMixerClass" glib:is-gtype-struct-for="GLBaseMixer" version="1.24">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<field name="parent_class">
|
||||
<type name="GstVideo.VideoAggregatorClass" c:type="GstVideoAggregatorClass"/>
|
||||
</field>
|
||||
<field name="supported_gl_api">
|
||||
<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/gstglbasemixer.h"/>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h">whether the start was successful</doc>
|
||||
<type name="gboolean" c:type="gboolean"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="mix" transfer-ownership="none">
|
||||
<type name="GLBaseMixer" c:type="GstGLBaseMixer*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="gl_stop">
|
||||
<callback name="gl_stop">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="mix" transfer-ownership="none">
|
||||
<type name="GLBaseMixer" c:type="GstGLBaseMixer*"/>
|
||||
</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>
|
||||
<class name="GLBaseMixerPad" c:symbol-prefix="gl_base_mixer_pad" c:type="GstGLBaseMixerPad" version="1.24" parent="GstVideo.VideoAggregatorPad" glib:type-name="GstGLBaseMixerPad" glib:get-type="gst_gl_base_mixer_pad_get_type" glib:type-struct="GLBaseMixerPadClass">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<field name="parent">
|
||||
<type name="GstVideo.VideoAggregatorPad" c:type="GstVideoAggregatorPad"/>
|
||||
</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="GLBaseMixerPadClass" c:type="GstGLBaseMixerPadClass" glib:is-gtype-struct-for="GLBaseMixerPad" version="1.24">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<field name="parent_class">
|
||||
<type name="GstVideo.VideoAggregatorPadClass" c:type="GstVideoAggregatorPadClass"/>
|
||||
</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="GLBaseMixerPrivate" c:type="GstGLBaseMixerPrivate" disguised="1">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
</record>
|
||||
<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
|
||||
|
@ -4563,6 +4694,181 @@ mappings between texture formats.</doc>
|
|||
</array>
|
||||
</field>
|
||||
</record>
|
||||
<class name="GLMixer" c:symbol-prefix="gl_mixer" c:type="GstGLMixer" version="1.24" parent="GLBaseMixer" abstract="1" glib:type-name="GstGLMixer" glib:get-type="gst_gl_mixer_get_type" glib:type-struct="GLMixerClass">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.c">#GstGLMixer helps implement an element that operates on RGBA textures.</doc>
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<virtual-method name="process_buffers" version="1.24">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h">Perform operations on the input buffers to produce an
|
||||
output buffer.</doc>
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="gboolean" c:type="gboolean"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<instance-parameter name="mix" transfer-ownership="none">
|
||||
<type name="GLMixer" c:type="GstGLMixer*"/>
|
||||
</instance-parameter>
|
||||
<parameter name="outbuf" transfer-ownership="none">
|
||||
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</virtual-method>
|
||||
<virtual-method name="process_textures" invoker="process_textures" version="1.24">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.c">Perform processing required and call #GstGLMixerClass::process_textures().
|
||||
Intended for use within implementations of
|
||||
#GstGLMixerClass::process_buffers().</doc>
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.c">whether processing of textures succeeded</doc>
|
||||
<type name="gboolean" c:type="gboolean"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<instance-parameter name="mix" transfer-ownership="none">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.c">the #GstGLMixer</doc>
|
||||
<type name="GLMixer" c:type="GstGLMixer*"/>
|
||||
</instance-parameter>
|
||||
<parameter name="out_tex" transfer-ownership="none">
|
||||
<type name="GLMemory" c:type="GstGLMemory*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</virtual-method>
|
||||
<method name="get_framebuffer" c:identifier="gst_gl_mixer_get_framebuffer" version="1.24">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<return-value transfer-ownership="full">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.c">(nullable): The #GstGLFramebuffer in use by this @mix</doc>
|
||||
<type name="GLFramebuffer" c:type="GstGLFramebuffer*"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<instance-parameter name="mix" transfer-ownership="none">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.c">the #GstGLMixer</doc>
|
||||
<type name="GLMixer" c:type="GstGLMixer*"/>
|
||||
</instance-parameter>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="process_textures" c:identifier="gst_gl_mixer_process_textures" version="1.24">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.c">Perform processing required and call #GstGLMixerClass::process_textures().
|
||||
Intended for use within implementations of
|
||||
#GstGLMixerClass::process_buffers().</doc>
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.c">whether processing of textures succeeded</doc>
|
||||
<type name="gboolean" c:type="gboolean"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<instance-parameter name="mix" transfer-ownership="none">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.c">the #GstGLMixer</doc>
|
||||
<type name="GLMixer" c:type="GstGLMixer*"/>
|
||||
</instance-parameter>
|
||||
<parameter name="outbuf" transfer-ownership="none">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.c">output @GstBuffer</doc>
|
||||
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</method>
|
||||
<field name="parent">
|
||||
<type name="GLBaseMixer" c:type="GstGLBaseMixer"/>
|
||||
</field>
|
||||
<field name="out_caps">
|
||||
<type name="Gst.Caps" c:type="GstCaps*"/>
|
||||
</field>
|
||||
<field name="priv" readable="0" private="1">
|
||||
<type name="GLMixerPrivate" c:type="GstGLMixerPrivate*"/>
|
||||
</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="GLMixerClass" c:type="GstGLMixerClass" glib:is-gtype-struct-for="GLMixer" version="1.24">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<field name="parent_class">
|
||||
<type name="GLBaseMixerClass" c:type="GstGLBaseMixerClass"/>
|
||||
</field>
|
||||
<field name="process_buffers">
|
||||
<callback name="process_buffers">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="gboolean" c:type="gboolean"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="mix" transfer-ownership="none">
|
||||
<type name="GLMixer" c:type="GstGLMixer*"/>
|
||||
</parameter>
|
||||
<parameter name="outbuf" transfer-ownership="none">
|
||||
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</callback>
|
||||
</field>
|
||||
<field name="process_textures">
|
||||
<callback name="process_textures">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<return-value transfer-ownership="none">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.c">whether processing of textures succeeded</doc>
|
||||
<type name="gboolean" c:type="gboolean"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<parameter name="mix" transfer-ownership="none">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.c">the #GstGLMixer</doc>
|
||||
<type name="GLMixer" c:type="GstGLMixer*"/>
|
||||
</parameter>
|
||||
<parameter name="out_tex" 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>
|
||||
<method name="add_rgba_pad_templates" c:identifier="gst_gl_mixer_class_add_rgba_pad_templates" version="1.24">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.c">Adds the default RGBA pad templates to this class. If you have any special
|
||||
template requirements like a different pad subclass or different supported
|
||||
caps, you should not call this function and add the pad templates yourself
|
||||
manually.</doc>
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<instance-parameter name="klass" transfer-ownership="none">
|
||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.c">the #GstGLMixerClass</doc>
|
||||
<type name="GLMixerClass" c:type="GstGLMixerClass*"/>
|
||||
</instance-parameter>
|
||||
</parameters>
|
||||
</method>
|
||||
</record>
|
||||
<class name="GLMixerPad" c:symbol-prefix="gl_mixer_pad" c:type="GstGLMixerPad" version="1.24" parent="GLBaseMixerPad" glib:type-name="GstGLMixerPad" glib:get-type="gst_gl_mixer_pad_get_type" glib:type-struct="GLMixerPadClass">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<field name="parent">
|
||||
<type name="GLBaseMixerPad" c:type="GstGLBaseMixerPad"/>
|
||||
</field>
|
||||
<field name="current_texture">
|
||||
<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>
|
||||
</class>
|
||||
<record name="GLMixerPadClass" c:type="GstGLMixerPadClass" glib:is-gtype-struct-for="GLMixerPad" version="1.24">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<field name="parent_class">
|
||||
<type name="GLBaseMixerPadClass" c:type="GstGLBaseMixerPadClass"/>
|
||||
</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="GLMixerPrivate" c:type="GstGLMixerPrivate" disguised="1">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
</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"/>
|
||||
|
@ -9162,6 +9468,48 @@ user-defined purposes.</doc>
|
|||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="GL_BASE_MIXER" c:identifier="GST_GL_BASE_MIXER" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="obj">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="GL_BASE_MIXER_CLASS" c:identifier="GST_GL_BASE_MIXER_CLASS" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="klass">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="GL_BASE_MIXER_GET_CLASS" c:identifier="GST_GL_BASE_MIXER_GET_CLASS" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="obj">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="GL_BASE_MIXER_PAD" c:identifier="GST_GL_BASE_MIXER_PAD" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="obj">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="GL_BASE_MIXER_PAD_CLASS" c:identifier="GST_GL_BASE_MIXER_PAD_CLASS" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="klass">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="GL_BASE_MIXER_PAD_GET_CLASS" c:identifier="GST_GL_BASE_MIXER_PAD_GET_CLASS" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="obj">
|
||||
</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>
|
||||
|
@ -9507,6 +9855,48 @@ e.g. for `CONFIG_ID`: `GST_GL_CONFIG_ATTRIB_NAME (CONFIG_ID)`</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_MIXER" c:identifier="GST_GL_MIXER" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="obj">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="GL_MIXER_CLASS" c:identifier="GST_GL_MIXER_CLASS" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="klass">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="GL_MIXER_GET_CLASS" c:identifier="GST_GL_MIXER_GET_CLASS" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="obj">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="GL_MIXER_PAD" c:identifier="GST_GL_MIXER_PAD" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="obj">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="GL_MIXER_PAD_CLASS" c:identifier="GST_GL_MIXER_PAD_CLASS" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="klass">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="GL_MIXER_PAD_GET_CLASS" c:identifier="GST_GL_MIXER_PAD_GET_CLASS" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="obj">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<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>
|
||||
|
@ -9748,6 +10138,34 @@ e.g. for `CONFIG_ID`: `GST_GL_CONFIG_ATTRIB_NAME (CONFIG_ID)`</doc>
|
|||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="IS_GL_BASE_MIXER" c:identifier="GST_IS_GL_BASE_MIXER" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="obj">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="IS_GL_BASE_MIXER_CLASS" c:identifier="GST_IS_GL_BASE_MIXER_CLASS" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="klass">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="IS_GL_BASE_MIXER_PAD" c:identifier="GST_IS_GL_BASE_MIXER_PAD" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="obj">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="IS_GL_BASE_MIXER_PAD_CLASS" c:identifier="GST_IS_GL_BASE_MIXER_PAD_CLASS" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.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>
|
||||
|
@ -9881,6 +10299,34 @@ e.g. for `CONFIG_ID`: `GST_GL_CONFIG_ATTRIB_NAME (CONFIG_ID)`</doc>
|
|||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="IS_GL_MIXER" c:identifier="GST_IS_GL_MIXER" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="obj">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="IS_GL_MIXER_CLASS" c:identifier="GST_IS_GL_MIXER_CLASS" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="klass">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="IS_GL_MIXER_PAD" c:identifier="GST_IS_GL_MIXER_PAD" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
|
||||
<parameters>
|
||||
<parameter name="obj">
|
||||
</parameter>
|
||||
</parameters>
|
||||
</function-macro>
|
||||
<function-macro name="IS_GL_MIXER_PAD_CLASS" c:identifier="GST_IS_GL_MIXER_PAD_CLASS" introspectable="0">
|
||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.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>
|
||||
|
|
|
@ -10041,7 +10041,7 @@
|
|||
"GstGLBaseMemoryError",
|
||||
"GstGLBaseMemoryTransfer",
|
||||
"GstGLBaseMixer",
|
||||
"GstGLBaseMixer:context",
|
||||
"GstGLBaseMixerClass",
|
||||
"GstGLBaseMixerPad",
|
||||
"GstGLBaseSrc",
|
||||
"GstGLBaseSrc.context",
|
||||
|
@ -10311,7 +10311,9 @@
|
|||
"GstGLMixerBinStartTimeSelection::first",
|
||||
"GstGLMixerBinStartTimeSelection::set",
|
||||
"GstGLMixerBinStartTimeSelection::zero",
|
||||
"GstGLMixerClass",
|
||||
"GstGLMixerPad",
|
||||
"GstGLMixerPadClass",
|
||||
"GstGLMosaic",
|
||||
"GstGLMosaic!sink_%u",
|
||||
"GstGLMosaic!src",
|
||||
|
|
|
@ -6882,43 +6882,6 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"GstGLBaseMixer": {
|
||||
"hierarchy": [
|
||||
"GstGLBaseMixer",
|
||||
"GstVideoAggregator",
|
||||
"GstAggregator",
|
||||
"GstElement",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"kind": "object",
|
||||
"properties": {
|
||||
"context": {
|
||||
"blurb": "Get OpenGL context",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "GstGLContext",
|
||||
"writable": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"GstGLBaseMixerPad": {
|
||||
"hierarchy": [
|
||||
"GstGLBaseMixerPad",
|
||||
"GstVideoAggregatorPad",
|
||||
"GstAggregatorPad",
|
||||
"GstPad",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"kind": "object"
|
||||
},
|
||||
"GstGLDeinterlaceMethod": {
|
||||
"kind": "enum",
|
||||
"values": [
|
||||
|
@ -7047,19 +7010,6 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"GstGLMixer": {
|
||||
"hierarchy": [
|
||||
"GstGLMixer",
|
||||
"GstGLBaseMixer",
|
||||
"GstVideoAggregator",
|
||||
"GstAggregator",
|
||||
"GstElement",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"kind": "object"
|
||||
},
|
||||
"GstGLMixerBinStartTimeSelection": {
|
||||
"kind": "enum",
|
||||
"values": [
|
||||
|
@ -7080,21 +7030,6 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"GstGLMixerPad": {
|
||||
"hierarchy": [
|
||||
"GstGLMixerPad",
|
||||
"GstGLBaseMixerPad",
|
||||
"GstVideoAggregatorPad",
|
||||
"GstAggregatorPad",
|
||||
"GstPad",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"kind": "object",
|
||||
"properties": {},
|
||||
"signals": {}
|
||||
},
|
||||
"GstGLRotateMethod": {
|
||||
"kind": "enum",
|
||||
"values": [
|
||||
|
|
|
@ -88,8 +88,6 @@ gst_gl_base_mixer_pad_class_init (GstGLBaseMixerPadClass * klass)
|
|||
|
||||
vaggpad_class->prepare_frame = NULL;
|
||||
vaggpad_class->clean_frame = NULL;
|
||||
|
||||
gst_type_mark_as_plugin_api (GST_TYPE_GL_BASE_MIXER_PAD, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -385,6 +383,13 @@ gst_gl_base_mixer_class_init (GstGLBaseMixerClass * klass)
|
|||
klass->gl_start = gst_gl_base_mixer_default_gl_start;
|
||||
klass->gl_stop = gst_gl_base_mixer_default_gl_stop;
|
||||
|
||||
/**
|
||||
* GstGLBaseMixer:context:
|
||||
*
|
||||
* The #GstGLContext in use by this #GstGLBaseMixer
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
g_object_class_install_property (gobject_class, PROP_CONTEXT,
|
||||
g_param_spec_object ("context",
|
||||
"OpenGL context",
|
||||
|
@ -395,8 +400,6 @@ gst_gl_base_mixer_class_init (GstGLBaseMixerClass * klass)
|
|||
g_type_class_ref (GST_TYPE_GL_BASE_MIXER_PAD);
|
||||
|
||||
klass->supported_gl_api = GST_GL_API_ANY;
|
||||
|
||||
gst_type_mark_as_plugin_api (GST_TYPE_GL_BASE_MIXER, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -43,15 +43,44 @@ G_BEGIN_DECLS
|
|||
typedef struct _GstGLBaseMixerPad GstGLBaseMixerPad;
|
||||
typedef struct _GstGLBaseMixerPadClass GstGLBaseMixerPadClass;
|
||||
|
||||
/* all information needed for one video stream */
|
||||
/**
|
||||
* GstGLBaseMixerPad:
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
struct _GstGLBaseMixerPad
|
||||
{
|
||||
GstVideoAggregatorPad parent; /* subclass the pad */
|
||||
/**
|
||||
* GstGLBaseMixerPad.parent:
|
||||
*
|
||||
* parent #GstVideoAggregatorPad
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
GstVideoAggregatorPad parent;
|
||||
|
||||
/*< private >*/
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
* GstGLBaseMixerPadClass:
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
struct _GstGLBaseMixerPadClass
|
||||
{
|
||||
/**
|
||||
* GstGLBaseMixerPadClass.parent_class:
|
||||
*
|
||||
* parent #GstVideoAggregatorPadClass
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
GstVideoAggregatorPadClass parent_class;
|
||||
|
||||
/*< private >*/
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstGLBaseMixerPad, gst_object_unref);
|
||||
|
@ -75,26 +104,89 @@ typedef struct _GstGLBaseMixer GstGLBaseMixer;
|
|||
typedef struct _GstGLBaseMixerClass GstGLBaseMixerClass;
|
||||
typedef struct _GstGLBaseMixerPrivate GstGLBaseMixerPrivate;
|
||||
|
||||
/**
|
||||
* GstGLBaseMixer:
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
struct _GstGLBaseMixer
|
||||
{
|
||||
GstVideoAggregator vaggregator;
|
||||
/**
|
||||
* GstGLBaseMixer.parent:
|
||||
*
|
||||
* parent #GstVideoAggregator
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
GstVideoAggregator parent;
|
||||
|
||||
/**
|
||||
* GstGLBaseMixer.display:
|
||||
*
|
||||
* the currently configured #GstGLDisplay
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
GstGLDisplay *display;
|
||||
/**
|
||||
* GstGLBaseMixer.context:
|
||||
*
|
||||
* the currently configured #GstGLContext
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
GstGLContext *context;
|
||||
|
||||
/*< private >*/
|
||||
gpointer _padding[GST_PADDING];
|
||||
|
||||
GstGLBaseMixerPrivate *priv;
|
||||
};
|
||||
|
||||
/**
|
||||
* GstGLBaseMixerClass:
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
struct _GstGLBaseMixerClass
|
||||
{
|
||||
/**
|
||||
* GstGLBaseMixerClass.parent_class:
|
||||
*
|
||||
* the parent #GstVideoAggregatorClass
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
GstVideoAggregatorClass parent_class;
|
||||
/**
|
||||
* GstGLBaseMixerClass.supported_gl_api:
|
||||
*
|
||||
* the logical-OR of #GstGLAPI's supported by this element
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
GstGLAPI supported_gl_api;
|
||||
|
||||
/**
|
||||
* GstGLBaseMixerClass::gl_start:
|
||||
*
|
||||
* called in the GL thread to setup the element GL state.
|
||||
*
|
||||
* Returns: whether the start was successful
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
gboolean (*gl_start) (GstGLBaseMixer * mix);
|
||||
/**
|
||||
* GstGLBaseMixerClass::gl_stop:
|
||||
*
|
||||
* called in the GL thread to setup the element GL state.
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
void (*gl_stop) (GstGLBaseMixer * mix);
|
||||
|
||||
/*< private >*/
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
|
|
|
@ -466,9 +466,6 @@ gst_gl_mixer_class_init (GstGLMixerClass * klass)
|
|||
|
||||
/* Register the pad class */
|
||||
g_type_class_ref (GST_TYPE_GL_MIXER_PAD);
|
||||
|
||||
gst_type_mark_as_plugin_api (GST_TYPE_GL_MIXER_PAD, 0);
|
||||
gst_type_mark_as_plugin_api (GST_TYPE_GL_MIXER, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -673,6 +670,19 @@ context_error:
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_gl_mixer_process_textures:
|
||||
* @mix: the #GstGLMixer
|
||||
* @outbuf: output @GstBuffer
|
||||
*
|
||||
* Perform processing required and call #GstGLMixerClass::process_textures().
|
||||
* Intended for use within implementations of
|
||||
* #GstGLMixerClass::process_buffers().
|
||||
*
|
||||
* Returns: whether processing of textures succeeded
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
gboolean
|
||||
gst_gl_mixer_process_textures (GstGLMixer * mix, GstBuffer * outbuf)
|
||||
{
|
||||
|
|
|
@ -46,17 +46,53 @@ typedef struct _GstGLMixerPrivate GstGLMixerPrivate;
|
|||
typedef struct _GstGLMixerPad GstGLMixerPad;
|
||||
typedef struct _GstGLMixerPadClass GstGLMixerPadClass;
|
||||
|
||||
/* all information needed for one video stream */
|
||||
/**
|
||||
* GstGLMixerPad:
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
struct _GstGLMixerPad
|
||||
{
|
||||
/**
|
||||
* GstGLMixerPad.parent:
|
||||
*
|
||||
* parent #GstGLBaseMixerPad
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
GstGLBaseMixerPad parent;
|
||||
|
||||
/**
|
||||
* GstGLMixerPad.current_texture:
|
||||
*
|
||||
* the current input texture for this pad
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
guint current_texture;
|
||||
|
||||
/*< private >*/
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
* GstGLMixerPadClass:
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
struct _GstGLMixerPadClass
|
||||
{
|
||||
/**
|
||||
* GstGLMixerPadClass.parent_class:
|
||||
*
|
||||
* parent #GstGLBaseMixerPadClass
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
GstGLBaseMixerPadClass parent_class;
|
||||
|
||||
/*< private >*/
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstGLMixerPad, gst_object_unref);
|
||||
|
@ -76,24 +112,71 @@ GType gst_gl_mixer_pad_get_type (void);
|
|||
#define GST_GL_MIXER_GET_CLASS(obj) \
|
||||
(G_TYPE_INSTANCE_GET_CLASS((obj),GST_TYPE_GL_MIXER,GstGLMixerClass))
|
||||
|
||||
typedef gboolean (*GstGLMixerProcessFunc) (GstGLMixer *mix, GstBuffer *outbuf);
|
||||
typedef gboolean (*GstGLMixerProcessTextures) (GstGLMixer *mix, GstGLMemory *out_tex);
|
||||
|
||||
/**
|
||||
* GstGLMixer:
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
struct _GstGLMixer
|
||||
{
|
||||
GstGLBaseMixer vaggregator;
|
||||
/**
|
||||
* GstGLMixer.parent:
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
GstGLBaseMixer parent;
|
||||
|
||||
/**
|
||||
* GstGLMixer.out_caps:
|
||||
*
|
||||
* the configured output #GstCaps
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
GstCaps *out_caps;
|
||||
|
||||
/*< private >*/
|
||||
GstGLMixerPrivate *priv;
|
||||
|
||||
/*< private >*/
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
* GstGLMixerClass:
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
struct _GstGLMixerClass
|
||||
{
|
||||
/**
|
||||
* GstGLMixerClass.parent_class:
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
GstGLBaseMixerClass parent_class;
|
||||
|
||||
GstGLMixerProcessFunc process_buffers;
|
||||
GstGLMixerProcessTextures process_textures;
|
||||
/**
|
||||
* GstGLMixerClass::process_buffers:
|
||||
*
|
||||
* Perform operations on the input buffers to produce an
|
||||
* output buffer.
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
gboolean (*process_buffers) (GstGLMixer * mix, GstBuffer *outbuf);
|
||||
/**
|
||||
* GstGLMixerClass::process_textures:
|
||||
*
|
||||
* perform operations with the input and output buffers mapped
|
||||
* as textures. Will not be called if @process_buffers is overriden.
|
||||
*
|
||||
* Since: 1.24
|
||||
*/
|
||||
gboolean (*process_textures) (GstGLMixer * mix, GstGLMemory *out_tex);
|
||||
|
||||
/*< private >*/
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstGLMixer, gst_object_unref);
|
||||
|
|
Loading…
Reference in a new issue