mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-22 17:51:16 +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>
|
to the texture</doc>
|
||||||
</member>
|
</member>
|
||||||
</bitfield>
|
</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">
|
<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
|
<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
|
context. It also provided some wrappers around #GstBaseSrc's `start()` and
|
||||||
|
@ -4563,6 +4694,181 @@ mappings between texture formats.</doc>
|
||||||
</array>
|
</array>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</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">
|
<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>
|
<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"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h"/>
|
||||||
|
@ -9162,6 +9468,48 @@ user-defined purposes.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function-macro>
|
</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">
|
<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"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
|
||||||
<parameters>
|
<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"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
|
||||||
<type name="utf8" c:type="gchar*"/>
|
<type name="utf8" c:type="gchar*"/>
|
||||||
</constant>
|
</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">
|
<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"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h"/>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -9748,6 +10138,34 @@ e.g. for `CONFIG_ID`: `GST_GL_CONFIG_ATTRIB_NAME (CONFIG_ID)`</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function-macro>
|
</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">
|
<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"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasesrc.h"/>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -9881,6 +10299,34 @@ e.g. for `CONFIG_ID`: `GST_GL_CONFIG_ATTRIB_NAME (CONFIG_ID)`</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function-macro>
|
</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">
|
<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"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgloverlaycompositor.h"/>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
|
|
@ -10041,7 +10041,7 @@
|
||||||
"GstGLBaseMemoryError",
|
"GstGLBaseMemoryError",
|
||||||
"GstGLBaseMemoryTransfer",
|
"GstGLBaseMemoryTransfer",
|
||||||
"GstGLBaseMixer",
|
"GstGLBaseMixer",
|
||||||
"GstGLBaseMixer:context",
|
"GstGLBaseMixerClass",
|
||||||
"GstGLBaseMixerPad",
|
"GstGLBaseMixerPad",
|
||||||
"GstGLBaseSrc",
|
"GstGLBaseSrc",
|
||||||
"GstGLBaseSrc.context",
|
"GstGLBaseSrc.context",
|
||||||
|
@ -10311,7 +10311,9 @@
|
||||||
"GstGLMixerBinStartTimeSelection::first",
|
"GstGLMixerBinStartTimeSelection::first",
|
||||||
"GstGLMixerBinStartTimeSelection::set",
|
"GstGLMixerBinStartTimeSelection::set",
|
||||||
"GstGLMixerBinStartTimeSelection::zero",
|
"GstGLMixerBinStartTimeSelection::zero",
|
||||||
|
"GstGLMixerClass",
|
||||||
"GstGLMixerPad",
|
"GstGLMixerPad",
|
||||||
|
"GstGLMixerPadClass",
|
||||||
"GstGLMosaic",
|
"GstGLMosaic",
|
||||||
"GstGLMosaic!sink_%u",
|
"GstGLMosaic!sink_%u",
|
||||||
"GstGLMosaic!src",
|
"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": {
|
"GstGLDeinterlaceMethod": {
|
||||||
"kind": "enum",
|
"kind": "enum",
|
||||||
"values": [
|
"values": [
|
||||||
|
@ -7047,19 +7010,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"GstGLMixer": {
|
|
||||||
"hierarchy": [
|
|
||||||
"GstGLMixer",
|
|
||||||
"GstGLBaseMixer",
|
|
||||||
"GstVideoAggregator",
|
|
||||||
"GstAggregator",
|
|
||||||
"GstElement",
|
|
||||||
"GstObject",
|
|
||||||
"GInitiallyUnowned",
|
|
||||||
"GObject"
|
|
||||||
],
|
|
||||||
"kind": "object"
|
|
||||||
},
|
|
||||||
"GstGLMixerBinStartTimeSelection": {
|
"GstGLMixerBinStartTimeSelection": {
|
||||||
"kind": "enum",
|
"kind": "enum",
|
||||||
"values": [
|
"values": [
|
||||||
|
@ -7080,21 +7030,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"GstGLMixerPad": {
|
|
||||||
"hierarchy": [
|
|
||||||
"GstGLMixerPad",
|
|
||||||
"GstGLBaseMixerPad",
|
|
||||||
"GstVideoAggregatorPad",
|
|
||||||
"GstAggregatorPad",
|
|
||||||
"GstPad",
|
|
||||||
"GstObject",
|
|
||||||
"GInitiallyUnowned",
|
|
||||||
"GObject"
|
|
||||||
],
|
|
||||||
"kind": "object",
|
|
||||||
"properties": {},
|
|
||||||
"signals": {}
|
|
||||||
},
|
|
||||||
"GstGLRotateMethod": {
|
"GstGLRotateMethod": {
|
||||||
"kind": "enum",
|
"kind": "enum",
|
||||||
"values": [
|
"values": [
|
||||||
|
|
|
@ -88,8 +88,6 @@ gst_gl_base_mixer_pad_class_init (GstGLBaseMixerPadClass * klass)
|
||||||
|
|
||||||
vaggpad_class->prepare_frame = NULL;
|
vaggpad_class->prepare_frame = NULL;
|
||||||
vaggpad_class->clean_frame = NULL;
|
vaggpad_class->clean_frame = NULL;
|
||||||
|
|
||||||
gst_type_mark_as_plugin_api (GST_TYPE_GL_BASE_MIXER_PAD, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
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_start = gst_gl_base_mixer_default_gl_start;
|
||||||
klass->gl_stop = gst_gl_base_mixer_default_gl_stop;
|
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_object_class_install_property (gobject_class, PROP_CONTEXT,
|
||||||
g_param_spec_object ("context",
|
g_param_spec_object ("context",
|
||||||
"OpenGL 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);
|
g_type_class_ref (GST_TYPE_GL_BASE_MIXER_PAD);
|
||||||
|
|
||||||
klass->supported_gl_api = GST_GL_API_ANY;
|
klass->supported_gl_api = GST_GL_API_ANY;
|
||||||
|
|
||||||
gst_type_mark_as_plugin_api (GST_TYPE_GL_BASE_MIXER, 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -43,15 +43,44 @@ G_BEGIN_DECLS
|
||||||
typedef struct _GstGLBaseMixerPad GstGLBaseMixerPad;
|
typedef struct _GstGLBaseMixerPad GstGLBaseMixerPad;
|
||||||
typedef struct _GstGLBaseMixerPadClass GstGLBaseMixerPadClass;
|
typedef struct _GstGLBaseMixerPadClass GstGLBaseMixerPadClass;
|
||||||
|
|
||||||
/* all information needed for one video stream */
|
/**
|
||||||
|
* GstGLBaseMixerPad:
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
struct _GstGLBaseMixerPad
|
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
|
struct _GstGLBaseMixerPadClass
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* GstGLBaseMixerPadClass.parent_class:
|
||||||
|
*
|
||||||
|
* parent #GstVideoAggregatorPadClass
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
GstVideoAggregatorPadClass parent_class;
|
GstVideoAggregatorPadClass parent_class;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _padding[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstGLBaseMixerPad, gst_object_unref);
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstGLBaseMixerPad, gst_object_unref);
|
||||||
|
@ -75,26 +104,89 @@ typedef struct _GstGLBaseMixer GstGLBaseMixer;
|
||||||
typedef struct _GstGLBaseMixerClass GstGLBaseMixerClass;
|
typedef struct _GstGLBaseMixerClass GstGLBaseMixerClass;
|
||||||
typedef struct _GstGLBaseMixerPrivate GstGLBaseMixerPrivate;
|
typedef struct _GstGLBaseMixerPrivate GstGLBaseMixerPrivate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstGLBaseMixer:
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
struct _GstGLBaseMixer
|
struct _GstGLBaseMixer
|
||||||
{
|
{
|
||||||
GstVideoAggregator vaggregator;
|
/**
|
||||||
|
* GstGLBaseMixer.parent:
|
||||||
|
*
|
||||||
|
* parent #GstVideoAggregator
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
|
GstVideoAggregator parent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstGLBaseMixer.display:
|
||||||
|
*
|
||||||
|
* the currently configured #GstGLDisplay
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
GstGLDisplay *display;
|
GstGLDisplay *display;
|
||||||
|
/**
|
||||||
|
* GstGLBaseMixer.context:
|
||||||
|
*
|
||||||
|
* the currently configured #GstGLContext
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
GstGLContext *context;
|
GstGLContext *context;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
gpointer _padding[GST_PADDING];
|
gpointer _padding[GST_PADDING];
|
||||||
|
|
||||||
GstGLBaseMixerPrivate *priv;
|
GstGLBaseMixerPrivate *priv;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstGLBaseMixerClass:
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
struct _GstGLBaseMixerClass
|
struct _GstGLBaseMixerClass
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* GstGLBaseMixerClass.parent_class:
|
||||||
|
*
|
||||||
|
* the parent #GstVideoAggregatorClass
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
GstVideoAggregatorClass parent_class;
|
GstVideoAggregatorClass parent_class;
|
||||||
|
/**
|
||||||
|
* GstGLBaseMixerClass.supported_gl_api:
|
||||||
|
*
|
||||||
|
* the logical-OR of #GstGLAPI's supported by this element
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
GstGLAPI supported_gl_api;
|
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);
|
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);
|
void (*gl_stop) (GstGLBaseMixer * mix);
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
gpointer _padding[GST_PADDING];
|
gpointer _padding[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -466,9 +466,6 @@ gst_gl_mixer_class_init (GstGLMixerClass * klass)
|
||||||
|
|
||||||
/* Register the pad class */
|
/* Register the pad class */
|
||||||
g_type_class_ref (GST_TYPE_GL_MIXER_PAD);
|
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
|
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
|
gboolean
|
||||||
gst_gl_mixer_process_textures (GstGLMixer * mix, GstBuffer * outbuf)
|
gst_gl_mixer_process_textures (GstGLMixer * mix, GstBuffer * outbuf)
|
||||||
{
|
{
|
||||||
|
|
|
@ -46,17 +46,53 @@ typedef struct _GstGLMixerPrivate GstGLMixerPrivate;
|
||||||
typedef struct _GstGLMixerPad GstGLMixerPad;
|
typedef struct _GstGLMixerPad GstGLMixerPad;
|
||||||
typedef struct _GstGLMixerPadClass GstGLMixerPadClass;
|
typedef struct _GstGLMixerPadClass GstGLMixerPadClass;
|
||||||
|
|
||||||
/* all information needed for one video stream */
|
/**
|
||||||
|
* GstGLMixerPad:
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
struct _GstGLMixerPad
|
struct _GstGLMixerPad
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* GstGLMixerPad.parent:
|
||||||
|
*
|
||||||
|
* parent #GstGLBaseMixerPad
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
GstGLBaseMixerPad parent;
|
GstGLBaseMixerPad parent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstGLMixerPad.current_texture:
|
||||||
|
*
|
||||||
|
* the current input texture for this pad
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
guint current_texture;
|
guint current_texture;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _padding[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstGLMixerPadClass:
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
struct _GstGLMixerPadClass
|
struct _GstGLMixerPadClass
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* GstGLMixerPadClass.parent_class:
|
||||||
|
*
|
||||||
|
* parent #GstGLBaseMixerPadClass
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
GstGLBaseMixerPadClass parent_class;
|
GstGLBaseMixerPadClass parent_class;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _padding[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstGLMixerPad, gst_object_unref);
|
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) \
|
#define GST_GL_MIXER_GET_CLASS(obj) \
|
||||||
(G_TYPE_INSTANCE_GET_CLASS((obj),GST_TYPE_GL_MIXER,GstGLMixerClass))
|
(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
|
struct _GstGLMixer
|
||||||
{
|
{
|
||||||
GstGLBaseMixer vaggregator;
|
/**
|
||||||
|
* GstGLMixer.parent:
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
|
GstGLBaseMixer parent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstGLMixer.out_caps:
|
||||||
|
*
|
||||||
|
* the configured output #GstCaps
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
GstCaps *out_caps;
|
GstCaps *out_caps;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
GstGLMixerPrivate *priv;
|
GstGLMixerPrivate *priv;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _padding[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstGLMixerClass:
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
struct _GstGLMixerClass
|
struct _GstGLMixerClass
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* GstGLMixerClass.parent_class:
|
||||||
|
*
|
||||||
|
* Since: 1.24
|
||||||
|
*/
|
||||||
GstGLBaseMixerClass parent_class;
|
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);
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstGLMixer, gst_object_unref);
|
||||||
|
|
Loading…
Reference in a new issue