gl: enable DisplayEGL API

This API is guarded behind the ``egl`` feature flag.
This commit is contained in:
Víctor Manuel Jáquez Leal 2018-10-19 19:16:17 +02:00 committed by Sebastian Dröge
parent 96296b8c11
commit c6654b8e17
4 changed files with 86 additions and 8 deletions

View file

@ -15,3 +15,24 @@ external_libraries = [
gstreamer="Gst" gstreamer="Gst"
gstreamer-base="GstBase" gstreamer-base="GstBase"
gstreamer-video="GstVideo" gstreamer-video="GstVideo"
[[object]]
name = "GstGL.GLDisplayEGL"
status = "generate"
cfg_condition = "feature = \"egl\""
[[object.function]]
pattern = ".*"
cfg_condition = "feature = \"egl\""
[[object]]
name = "GstGL.GLDisplayEGLClass"
status = "generate"
cfg_condition = "feature = \"egl\""
[[object]]
name = "GstGL.GL_DISPLAY_EGL_NAME"
status = "generate"
cfg_condition = "feature = \"egl\""
[[object.constant]]
pattern = ".*"
cfg_condition = "feature = \"egl\""

View file

@ -2558,8 +2558,70 @@ display's object lock held.</doc>
</array> </array>
</field> </field>
</record> </record>
<class name="GLDisplayEGL" c:symbol-prefix="gl_display_egl" c:type="GstGLDisplayEGL" parent="GLDisplay" glib:type-name="GstGLDisplayEGL" glib:get-type="gst_gl_display_egl_get_type" glib:type-struct="GLDisplayEGLClass">
<doc xml:space="preserve">the contents of a #GstGLDisplayEGL are private and should only be accessed
through the provided API</doc>
<constructor name="new" c:identifier="gst_gl_display_egl_new">
<doc xml:space="preserve">Create a new #GstGLDisplayEGL using the default EGL_DEFAULT_DISPLAY.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GstGLDisplayEGL or %NULL</doc>
<type name="GLDisplayEGL" c:type="GstGLDisplayEGL*"/>
</return-value>
</constructor>
<constructor name="new_with_egl_display" c:identifier="gst_gl_display_egl_new_with_egl_display">
<return-value transfer-ownership="none">
<type name="GLDisplayEGL" c:type="GstGLDisplayEGL*"/>
</return-value>
<parameters>
<parameter name="display" transfer-ownership="none" nullable="1" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</constructor>
<function name="get_from_native" c:identifier="gst_gl_display_egl_get_from_native" version="1.12">
<doc xml:space="preserve">Attempts to create a new #EGLDisplay from @display. If @type is
%GST_GL_DISPLAY_TYPE_ANY, then @display must be 0. @type must not be
%GST_GL_DISPLAY_TYPE_NONE.</doc>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A #EGLDisplay or %EGL_NO_DISPLAY</doc>
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<doc xml:space="preserve">a #GstGLDisplayType</doc>
<type name="GLDisplayType" c:type="GstGLDisplayType"/>
</parameter>
<parameter name="display" transfer-ownership="none">
<doc xml:space="preserve">pointer to a display (or 0)</doc>
<type name="guintptr" c:type="guintptr"/>
</parameter>
</parameters>
</function>
<field name="parent">
<type name="GLDisplay" c:type="GstGLDisplay"/>
</field>
<field name="display" readable="0" private="1">
<type name="gpointer" c:type="gpointer"/>
</field>
<field name="foreign_display" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="_padding" readable="0" private="1">
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="GLDisplayEGLClass" c:type="GstGLDisplayEGLClass" glib:is-gtype-struct-for="GLDisplayEGL">
<field name="object_class">
<type name="GLDisplayClass" c:type="GstGLDisplayClass"/>
</field>
<field name="_padding">
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="GLDisplayPrivate" c:type="GstGLDisplayPrivate" disguised="1"> <record name="GLDisplayPrivate" c:type="GstGLDisplayPrivate" disguised="1">
</record> </record>
<bitfield name="GLDisplayType" c:type="GstGLDisplayType"> <bitfield name="GLDisplayType" c:type="GstGLDisplayType">

View file

@ -39,12 +39,6 @@ xmlstarlet ed --pf --inplace \
--delete '//_:record[@name="GLDisplayX11Class"]' \ --delete '//_:record[@name="GLDisplayX11Class"]' \
GstGL-1.0.gir GstGL-1.0.gir
# Remove GstDisplayEGL
xmlstarlet ed --pf --inplace \
--delete '//_:class[@name="GLDisplayEGL"]' \
--delete '//_:record[@name="GLDisplayEGLClass"]' \
GstGL-1.0.gir
# Remove GstMemoryEGL # Remove GstMemoryEGL
xmlstarlet ed --pf --inplace \ xmlstarlet ed --pf --inplace \
--delete '//_:record[@name="GLMemoryEGL"]' \ --delete '//_:record[@name="GLMemoryEGL"]' \

View file

@ -25,6 +25,7 @@ tempdir = "0.3"
[features] [features]
dox = [] dox = []
egl = []
[lib] [lib]
name = "gstreamer_gl_sys" name = "gstreamer_gl_sys"