mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-11-29 21:11:14 +00:00
1be9f59091
Using Debian gir files But kept the changes in commit485d7e48
and9265cc82
13811 lines
622 KiB
XML
13811 lines
622 KiB
XML
<?xml version="1.0"?>
|
|
<!-- 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 version="1.2"
|
|
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">
|
|
<include name="Gst" version="1.0"/>
|
|
<include name="GstBase" version="1.0"/>
|
|
<package name="gstreamer-video-1.0"/>
|
|
<c:include name="gst/video/video.h"/>
|
|
<namespace name="GstVideo"
|
|
version="1.0"
|
|
shared-library="libgstvideo-1.0.so.0"
|
|
c:identifier-prefixes="Gst"
|
|
c:symbol-prefixes="gst">
|
|
<constant name="BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META"
|
|
value="GstBufferPoolOptionVideoAffineTransformation"
|
|
c:type="GST_BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="BUFFER_POOL_OPTION_VIDEO_ALIGNMENT"
|
|
value="GstBufferPoolOptionVideoAlignment"
|
|
c:type="GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT">
|
|
<doc xml:space="preserve">A bufferpool option to enable extra padding. When a bufferpool supports this
|
|
option, gst_buffer_pool_config_set_video_alignment() can be called.
|
|
|
|
When this option is enabled on the bufferpool,
|
|
#GST_BUFFER_POOL_OPTION_VIDEO_META should also be enabled.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META"
|
|
value="GstBufferPoolOptionVideoGLTextureUploadMeta"
|
|
c:type="GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META"
|
|
version="1.2.2">
|
|
<doc xml:space="preserve">An option that can be activated on a bufferpool to request gl texture upload
|
|
meta on buffers from the pool.
|
|
|
|
When this option is enabled on the bufferpool,
|
|
@GST_BUFFER_POOL_OPTION_VIDEO_META should also be enabled.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="BUFFER_POOL_OPTION_VIDEO_META"
|
|
value="GstBufferPoolOptionVideoMeta"
|
|
c:type="GST_BUFFER_POOL_OPTION_VIDEO_META">
|
|
<doc xml:space="preserve">An option that can be activated on bufferpool to request video metadata
|
|
on buffers from the pool.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META"
|
|
value="meta:GstVideoAffineTransformation"
|
|
c:type="GST_CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META"
|
|
value="meta:GstVideoGLTextureUploadMeta"
|
|
c:type="GST_CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="CAPS_FEATURE_META_GST_VIDEO_META"
|
|
value="meta:GstVideoMeta"
|
|
c:type="GST_CAPS_FEATURE_META_GST_VIDEO_META">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION"
|
|
value="meta:GstVideoOverlayComposition"
|
|
c:type="GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<interface name="ColorBalance"
|
|
c:symbol-prefix="color_balance"
|
|
c:type="GstColorBalance"
|
|
glib:type-name="GstColorBalance"
|
|
glib:get-type="gst_color_balance_get_type"
|
|
glib:type-struct="ColorBalanceInterface">
|
|
<doc xml:space="preserve">This interface is implemented by elements which can perform some color
|
|
balance operation on video frames they process. For example, modifying
|
|
the brightness, contrast, hue or saturation.
|
|
|
|
Example elements are 'xvimagesink' and 'colorbalance'</doc>
|
|
<virtual-method name="get_balance_type" invoker="get_balance_type">
|
|
<doc xml:space="preserve">Get the #GstColorBalanceType of this implementation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A the #GstColorBalanceType.</doc>
|
|
<type name="ColorBalanceType" c:type="GstColorBalanceType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstColorBalance implementation</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_value" invoker="get_value">
|
|
<doc xml:space="preserve">Retrieve the current value of the indicated channel, between min_value
|
|
and max_value.
|
|
|
|
See Also: The #GstColorBalanceChannel.min_value and
|
|
#GstColorBalanceChannel.max_value members of the
|
|
#GstColorBalanceChannel object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The current value of the channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel instance</doc>
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="list_channels" invoker="list_channels">
|
|
<doc xml:space="preserve">Retrieve a list of the available channels.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A
|
|
GList containing pointers to #GstColorBalanceChannel
|
|
objects. The list is owned by the #GstColorBalance
|
|
instance and must not be freed.</doc>
|
|
<type name="GLib.List" c:type="const GList*">
|
|
<type name="ColorBalanceChannel"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_value" invoker="set_value">
|
|
<doc xml:space="preserve">Sets the current value of the channel to the passed value, which must
|
|
be between min_value and max_value.
|
|
|
|
See Also: The #GstColorBalanceChannel.min_value and
|
|
#GstColorBalanceChannel.max_value members of the
|
|
#GstColorBalanceChannel object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel instance</doc>
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value for the channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="value_changed" invoker="value_changed">
|
|
<doc xml:space="preserve">A helper function called by implementations of the GstColorBalance
|
|
interface. It fires the #GstColorBalance::value-changed signal on the
|
|
instance, and the #GstColorBalanceChannel::value-changed signal on the
|
|
channel object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel whose value has changed</doc>
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value of the channel</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="get_balance_type"
|
|
c:identifier="gst_color_balance_get_balance_type">
|
|
<doc xml:space="preserve">Get the #GstColorBalanceType of this implementation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A the #GstColorBalanceType.</doc>
|
|
<type name="ColorBalanceType" c:type="GstColorBalanceType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstColorBalance implementation</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_value" c:identifier="gst_color_balance_get_value">
|
|
<doc xml:space="preserve">Retrieve the current value of the indicated channel, between min_value
|
|
and max_value.
|
|
|
|
See Also: The #GstColorBalanceChannel.min_value and
|
|
#GstColorBalanceChannel.max_value members of the
|
|
#GstColorBalanceChannel object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The current value of the channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel instance</doc>
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="list_channels"
|
|
c:identifier="gst_color_balance_list_channels">
|
|
<doc xml:space="preserve">Retrieve a list of the available channels.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A
|
|
GList containing pointers to #GstColorBalanceChannel
|
|
objects. The list is owned by the #GstColorBalance
|
|
instance and must not be freed.</doc>
|
|
<type name="GLib.List" c:type="const GList*">
|
|
<type name="ColorBalanceChannel"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_value" c:identifier="gst_color_balance_set_value">
|
|
<doc xml:space="preserve">Sets the current value of the channel to the passed value, which must
|
|
be between min_value and max_value.
|
|
|
|
See Also: The #GstColorBalanceChannel.min_value and
|
|
#GstColorBalanceChannel.max_value members of the
|
|
#GstColorBalanceChannel object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel instance</doc>
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value for the channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="value_changed"
|
|
c:identifier="gst_color_balance_value_changed">
|
|
<doc xml:space="preserve">A helper function called by implementations of the GstColorBalance
|
|
interface. It fires the #GstColorBalance::value-changed signal on the
|
|
instance, and the #GstColorBalanceChannel::value-changed signal on the
|
|
channel object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel whose value has changed</doc>
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value of the channel</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<glib:signal name="value-changed" when="last">
|
|
<doc xml:space="preserve">Fired when the value of the indicated channel has changed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstColorBalanceChannel</doc>
|
|
<type name="ColorBalanceChannel"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</interface>
|
|
<class name="ColorBalanceChannel"
|
|
c:symbol-prefix="color_balance_channel"
|
|
c:type="GstColorBalanceChannel"
|
|
parent="GObject.Object"
|
|
glib:type-name="GstColorBalanceChannel"
|
|
glib:get-type="gst_color_balance_channel_get_type"
|
|
glib:type-struct="ColorBalanceChannelClass">
|
|
<doc xml:space="preserve">The #GstColorBalanceChannel object represents a parameter
|
|
for modifying the color balance implemented by an element providing the
|
|
#GstColorBalance interface. For example, Hue or Saturation.</doc>
|
|
<virtual-method name="value_changed">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="channel" transfer-ownership="none">
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</instance-parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<field name="parent">
|
|
<type name="GObject.Object" c:type="GObject"/>
|
|
</field>
|
|
<field name="label">
|
|
<doc xml:space="preserve">A string containing a descriptive name for this channel</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="min_value">
|
|
<doc xml:space="preserve">The minimum valid value for this channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="max_value">
|
|
<doc xml:space="preserve">The maximum valid value for this channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<glib:signal name="value-changed" when="last">
|
|
<doc xml:space="preserve">Fired when the value of the indicated channel has changed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<record name="ColorBalanceChannelClass"
|
|
c:type="GstColorBalanceChannelClass"
|
|
glib:is-gtype-struct-for="ColorBalanceChannel">
|
|
<doc xml:space="preserve">Color-balance channel class.</doc>
|
|
<field name="parent">
|
|
<doc xml:space="preserve">the parent class</doc>
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
|
|
</field>
|
|
<field name="value_changed">
|
|
<callback name="value_changed">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<type name="ColorBalanceChannel"
|
|
c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="ColorBalanceInterface"
|
|
c:type="GstColorBalanceInterface"
|
|
glib:is-gtype-struct-for="ColorBalance">
|
|
<doc xml:space="preserve">Color-balance interface.</doc>
|
|
<field name="iface">
|
|
<doc xml:space="preserve">the parent interface</doc>
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
<field name="list_channels">
|
|
<callback name="list_channels">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A
|
|
GList containing pointers to #GstColorBalanceChannel
|
|
objects. The list is owned by the #GstColorBalance
|
|
instance and must not be freed.</doc>
|
|
<type name="GLib.List" c:type="const GList*">
|
|
<type name="ColorBalanceChannel"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_value">
|
|
<callback name="set_value">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel instance</doc>
|
|
<type name="ColorBalanceChannel"
|
|
c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value for the channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_value">
|
|
<callback name="get_value">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The current value of the channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel instance</doc>
|
|
<type name="ColorBalanceChannel"
|
|
c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_balance_type">
|
|
<callback name="get_balance_type">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A the #GstColorBalanceType.</doc>
|
|
<type name="ColorBalanceType" c:type="GstColorBalanceType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstColorBalance implementation</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="value_changed">
|
|
<callback name="value_changed">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel whose value has changed</doc>
|
|
<type name="ColorBalanceChannel"
|
|
c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value of the channel</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<enumeration name="ColorBalanceType"
|
|
glib:type-name="GstColorBalanceType"
|
|
glib:get-type="gst_color_balance_type_get_type"
|
|
c:type="GstColorBalanceType">
|
|
<doc xml:space="preserve">An enumeration indicating whether an element implements color balancing
|
|
operations in software or in dedicated hardware. In general, dedicated
|
|
hardware implementations (such as those provided by xvimagesink) are
|
|
preferred.</doc>
|
|
<member name="hardware"
|
|
value="0"
|
|
c:identifier="GST_COLOR_BALANCE_HARDWARE"
|
|
glib:nick="hardware">
|
|
<doc xml:space="preserve">Color balance is implemented with dedicated
|
|
hardware.</doc>
|
|
</member>
|
|
<member name="software"
|
|
value="1"
|
|
c:identifier="GST_COLOR_BALANCE_SOFTWARE"
|
|
glib:nick="software">
|
|
<doc xml:space="preserve">Color balance is implemented via software
|
|
processing.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<constant name="META_TAG_VIDEO_COLORSPACE_STR"
|
|
value="colorspace"
|
|
c:type="GST_META_TAG_VIDEO_COLORSPACE_STR"
|
|
version="1.2">
|
|
<doc xml:space="preserve">This metadata stays relevant as long as video colorspace is unchanged.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="META_TAG_VIDEO_ORIENTATION_STR"
|
|
value="orientation"
|
|
c:type="GST_META_TAG_VIDEO_ORIENTATION_STR"
|
|
version="1.2">
|
|
<doc xml:space="preserve">This metadata stays relevant as long as video orientation is unchanged.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="META_TAG_VIDEO_SIZE_STR"
|
|
value="size"
|
|
c:type="GST_META_TAG_VIDEO_SIZE_STR"
|
|
version="1.2">
|
|
<doc xml:space="preserve">This metadata stays relevant as long as video size is unchanged.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="META_TAG_VIDEO_STR"
|
|
value="video"
|
|
c:type="GST_META_TAG_VIDEO_STR"
|
|
version="1.2">
|
|
<doc xml:space="preserve">This metadata is relevant for video streams.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<interface name="Navigation"
|
|
c:symbol-prefix="navigation"
|
|
c:type="GstNavigation"
|
|
glib:type-name="GstNavigation"
|
|
glib:get-type="gst_navigation_get_type"
|
|
glib:type-struct="NavigationInterface">
|
|
<doc xml:space="preserve">The Navigation interface is used for creating and injecting navigation related
|
|
events such as mouse button presses, cursor motion and key presses. The associated
|
|
library also provides methods for parsing received events, and for sending and
|
|
receiving navigation related bus events. One main usecase is DVD menu navigation.
|
|
|
|
The main parts of the API are:
|
|
|
|
* The GstNavigation interface, implemented by elements which provide an application
|
|
with the ability to create and inject navigation events into the pipeline.
|
|
* GstNavigation event handling API. GstNavigation events are created in response to
|
|
calls on a GstNavigation interface implementation, and sent in the pipeline. Upstream
|
|
elements can use the navigation event API functions to parse the contents of received
|
|
messages.
|
|
|
|
* GstNavigation message handling API. GstNavigation messages may be sent on the message
|
|
bus to inform applications of navigation related changes in the pipeline, such as the
|
|
mouse moving over a clickable region, or the set of available angles changing.
|
|
|
|
The GstNavigation message functions provide functions for creating and parsing
|
|
custom bus messages for signaling GstNavigation changes.</doc>
|
|
<function name="event_get_type"
|
|
c:identifier="gst_navigation_event_get_type">
|
|
<doc xml:space="preserve">Inspect a #GstEvent and return the #GstNavigationEventType of the event, or
|
|
#GST_NAVIGATION_EVENT_INVALID if the event is not a #GstNavigation event.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="NavigationEventType" c:type="GstNavigationEventType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="event_parse_command"
|
|
c:identifier="gst_navigation_event_parse_command">
|
|
<doc xml:space="preserve">Inspect a #GstNavigation command event and retrieve the enum value of the
|
|
associated command.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the navigation command could be extracted, otherwise FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="command"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to GstNavigationCommand to receive the
|
|
type of the navigation event.</doc>
|
|
<type name="NavigationCommand" c:type="GstNavigationCommand*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="event_parse_key_event"
|
|
c:identifier="gst_navigation_event_parse_key_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="key"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="none"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a location to receive
|
|
the string identifying the key press. The returned string is owned by the
|
|
event, and valid only until the event is unreffed.</doc>
|
|
<type name="utf8" c:type="const gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="event_parse_mouse_button_event"
|
|
c:identifier="gst_navigation_event_parse_mouse_button_event">
|
|
<doc xml:space="preserve">Retrieve the details of either a #GstNavigation mouse button press event or
|
|
a mouse button release event. Determine which type the event is using
|
|
gst_navigation_event_get_type() to retrieve the #GstNavigationEventType.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the button number and both coordinates could be extracted,
|
|
otherwise FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="button"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gint that will receive the button
|
|
number associated with the event.</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="x"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the x coordinate of the
|
|
mouse button event.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="y"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the y coordinate of the
|
|
mouse button event.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="event_parse_mouse_move_event"
|
|
c:identifier="gst_navigation_event_parse_mouse_move_event">
|
|
<doc xml:space="preserve">Inspect a #GstNavigation mouse movement event and extract the coordinates
|
|
of the event.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if both coordinates could be extracted, otherwise FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="x"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the x coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="y"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the y coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_get_type"
|
|
c:identifier="gst_navigation_message_get_type">
|
|
<doc xml:space="preserve">Check a bus message to see if it is a #GstNavigation event, and return
|
|
the #GstNavigationMessageType identifying the type of the message if so.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The type of the #GstMessage, or
|
|
#GST_NAVIGATION_MESSAGE_INVALID if the message is not a #GstNavigation
|
|
notification.</doc>
|
|
<type name="NavigationMessageType"
|
|
c:type="GstNavigationMessageType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_new_angles_changed"
|
|
c:identifier="gst_navigation_message_new_angles_changed">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_ANGLES_CHANGED for notifying an application
|
|
that the current angle, or current number of angles available in a
|
|
multiangle video has changed.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle" transfer-ownership="none">
|
|
<doc xml:space="preserve">The currently selected angle.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="n_angles" transfer-ownership="none">
|
|
<doc xml:space="preserve">The number of viewing angles now available.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_new_commands_changed"
|
|
c:identifier="gst_navigation_message_new_commands_changed">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_new_event"
|
|
c:identifier="gst_navigation_message_new_event"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_EVENT.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A navigation #GstEvent</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_new_mouse_over"
|
|
c:identifier="gst_navigation_message_new_mouse_over">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_MOUSE_OVER.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the mouse has entered a clickable area of the display.
|
|
%FALSE if it over a non-clickable area.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_parse_angles_changed"
|
|
c:identifier="gst_navigation_message_parse_angles_changed">
|
|
<doc xml:space="preserve">Parse a #GstNavigation message of type GST_NAVIGATION_MESSAGE_ANGLES_CHANGED
|
|
and extract the @cur_angle and @n_angles parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a #guint to receive the new
|
|
current angle number, or NULL</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="n_angles"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a #guint to receive the new angle
|
|
count, or NULL.</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_parse_event"
|
|
c:identifier="gst_navigation_message_parse_event"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_EVENT
|
|
and extract contained #GstEvent. The caller must unref the @event when done
|
|
with it.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="event"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">a pointer to a #GstEvent to receive
|
|
the contained navigation event.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_parse_mouse_over"
|
|
c:identifier="gst_navigation_message_parse_mouse_over">
|
|
<doc xml:space="preserve">Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_MOUSE_OVER
|
|
and extract the active/inactive flag. If the mouse over event is marked
|
|
active, it indicates that the mouse is over a clickable area.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="active"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a gboolean to receive the
|
|
active/inactive state, or NULL.</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_get_type"
|
|
c:identifier="gst_navigation_query_get_type">
|
|
<doc xml:space="preserve">Inspect a #GstQuery and return the #GstNavigationQueryType associated with
|
|
it if it is a #GstNavigation query.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstNavigationQueryType of the query, or
|
|
#GST_NAVIGATION_QUERY_INVALID</doc>
|
|
<type name="NavigationQueryType" c:type="GstNavigationQueryType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">The query to inspect</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_new_angles"
|
|
c:identifier="gst_navigation_query_new_angles">
|
|
<doc xml:space="preserve">Create a new #GstNavigation angles query. When executed, it will
|
|
query the pipeline for the set of currently available angles, which may be
|
|
greater than one in a multiangle video.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new query.</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="query_new_commands"
|
|
c:identifier="gst_navigation_query_new_commands">
|
|
<doc xml:space="preserve">Create a new #GstNavigation commands query. When executed, it will
|
|
query the pipeline for the set of currently available commands.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new query.</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="query_parse_angles"
|
|
c:identifier="gst_navigation_query_parse_angles">
|
|
<doc xml:space="preserve">Parse the current angle number in the #GstNavigation angles @query into the
|
|
#guint pointed to by the @cur_angle variable, and the number of available
|
|
angles into the #guint pointed to by the @n_angles variable.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a #guint into which to store the
|
|
currently selected angle value from the query, or NULL</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="n_angles"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a #guint into which to store the
|
|
number of angles value from the query, or NULL</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_parse_commands_length"
|
|
c:identifier="gst_navigation_query_parse_commands_length">
|
|
<doc xml:space="preserve">Parse the number of commands in the #GstNavigation commands @query.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="n_cmds"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">the number of commands in this query.</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_parse_commands_nth"
|
|
c:identifier="gst_navigation_query_parse_commands_nth">
|
|
<doc xml:space="preserve">Parse the #GstNavigation command query and retrieve the @nth command from
|
|
it into @cmd. If the list contains less elements than @nth, @cmd will be
|
|
set to #GST_NAVIGATION_COMMAND_INVALID.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="nth" transfer-ownership="none">
|
|
<doc xml:space="preserve">the nth command to retrieve.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="cmd"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">a pointer to store the nth command into.</doc>
|
|
<type name="NavigationCommand" c:type="GstNavigationCommand*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_set_angles"
|
|
c:identifier="gst_navigation_query_set_angles">
|
|
<doc xml:space="preserve">Set the #GstNavigation angles query result field in @query.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle" transfer-ownership="none">
|
|
<doc xml:space="preserve">the current viewing angle to set.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="n_angles" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of viewing angles to set.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_set_commands"
|
|
c:identifier="gst_navigation_query_set_commands"
|
|
introspectable="0">
|
|
<doc xml:space="preserve">Set the #GstNavigation command query result fields in @query. The number
|
|
of commands passed must be equal to @n_commands.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="n_cmds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of commands to set.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">A list of @GstNavigationCommand values, @n_cmds entries long.</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_set_commandsv"
|
|
c:identifier="gst_navigation_query_set_commandsv">
|
|
<doc xml:space="preserve">Set the #GstNavigation command query result fields in @query. The number
|
|
of commands passed must be equal to @n_commands.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="n_cmds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of commands to set.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="cmds" transfer-ownership="none">
|
|
<doc xml:space="preserve">An array containing @n_cmds
|
|
@GstNavigationCommand values.</doc>
|
|
<array length="1"
|
|
zero-terminated="0"
|
|
c:type="GstNavigationCommand*">
|
|
<type name="NavigationCommand" c:type="GstNavigationCommand"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="send_event" invoker="send_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="navigation" transfer-ownership="none">
|
|
<type name="Navigation" c:type="GstNavigation*"/>
|
|
</instance-parameter>
|
|
<parameter name="structure" transfer-ownership="none">
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="send_command" c:identifier="gst_navigation_send_command">
|
|
<doc xml:space="preserve">Sends the indicated command to the navigation interface.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="navigation" transfer-ownership="none">
|
|
<doc xml:space="preserve">The navigation interface instance</doc>
|
|
<type name="Navigation" c:type="GstNavigation*"/>
|
|
</instance-parameter>
|
|
<parameter name="command" transfer-ownership="none">
|
|
<doc xml:space="preserve">The command to issue</doc>
|
|
<type name="NavigationCommand" c:type="GstNavigationCommand"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="send_event" c:identifier="gst_navigation_send_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="navigation" transfer-ownership="none">
|
|
<type name="Navigation" c:type="GstNavigation*"/>
|
|
</instance-parameter>
|
|
<parameter name="structure" transfer-ownership="none">
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="send_key_event"
|
|
c:identifier="gst_navigation_send_key_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="navigation" transfer-ownership="none">
|
|
<doc xml:space="preserve">The navigation interface instance</doc>
|
|
<type name="Navigation" c:type="GstNavigation*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The type of the key event. Recognised values are "key-press" and
|
|
"key-release"</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">Character representation of the key. This is typically as produced
|
|
by XKeysymToString.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="send_mouse_event"
|
|
c:identifier="gst_navigation_send_mouse_event">
|
|
<doc xml:space="preserve">Sends a mouse event to the navigation interface. Mouse event coordinates
|
|
are sent relative to the display space of the related output area. This is
|
|
usually the size in pixels of the window associated with the element
|
|
implementing the #GstNavigation interface.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="navigation" transfer-ownership="none">
|
|
<doc xml:space="preserve">The navigation interface instance</doc>
|
|
<type name="Navigation" c:type="GstNavigation*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The type of mouse event, as a text string. Recognised values are
|
|
"mouse-button-press", "mouse-button-release" and "mouse-move".</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="button" transfer-ownership="none">
|
|
<doc xml:space="preserve">The button number of the button being pressed or released. Pass 0
|
|
for mouse-move events.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">The x coordinate of the mouse event.</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">The y coordinate of the mouse event.</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</interface>
|
|
<enumeration name="NavigationCommand"
|
|
glib:type-name="GstNavigationCommand"
|
|
glib:get-type="gst_navigation_command_get_type"
|
|
c:type="GstNavigationCommand">
|
|
<doc xml:space="preserve">A set of commands that may be issued to an element providing the
|
|
#GstNavigation interface. The available commands can be queried via
|
|
the gst_navigation_query_new_commands() query.
|
|
|
|
For convenience in handling DVD navigation, the MENU commands are aliased as:
|
|
GST_NAVIGATION_COMMAND_DVD_MENU = @GST_NAVIGATION_COMMAND_MENU1
|
|
GST_NAVIGATION_COMMAND_DVD_TITLE_MENU = @GST_NAVIGATION_COMMAND_MENU2
|
|
GST_NAVIGATION_COMMAND_DVD_ROOT_MENU = @GST_NAVIGATION_COMMAND_MENU3
|
|
GST_NAVIGATION_COMMAND_DVD_SUBPICTURE_MENU = @GST_NAVIGATION_COMMAND_MENU4
|
|
GST_NAVIGATION_COMMAND_DVD_AUDIO_MENU = @GST_NAVIGATION_COMMAND_MENU5
|
|
GST_NAVIGATION_COMMAND_DVD_ANGLE_MENU = @GST_NAVIGATION_COMMAND_MENU6
|
|
GST_NAVIGATION_COMMAND_DVD_CHAPTER_MENU = @GST_NAVIGATION_COMMAND_MENU7</doc>
|
|
<member name="invalid"
|
|
value="0"
|
|
c:identifier="GST_NAVIGATION_COMMAND_INVALID"
|
|
glib:nick="invalid">
|
|
<doc xml:space="preserve">An invalid command entry</doc>
|
|
</member>
|
|
<member name="menu1"
|
|
value="1"
|
|
c:identifier="GST_NAVIGATION_COMMAND_MENU1"
|
|
glib:nick="menu1">
|
|
<doc xml:space="preserve">Execute navigation menu command 1. For DVD,
|
|
this enters the DVD root menu, or exits back to the title from the menu.</doc>
|
|
</member>
|
|
<member name="menu2"
|
|
value="2"
|
|
c:identifier="GST_NAVIGATION_COMMAND_MENU2"
|
|
glib:nick="menu2">
|
|
<doc xml:space="preserve">Execute navigation menu command 2. For DVD,
|
|
this jumps to the DVD title menu.</doc>
|
|
</member>
|
|
<member name="menu3"
|
|
value="3"
|
|
c:identifier="GST_NAVIGATION_COMMAND_MENU3"
|
|
glib:nick="menu3">
|
|
<doc xml:space="preserve">Execute navigation menu command 3. For DVD,
|
|
this jumps into the DVD root menu.</doc>
|
|
</member>
|
|
<member name="menu4"
|
|
value="4"
|
|
c:identifier="GST_NAVIGATION_COMMAND_MENU4"
|
|
glib:nick="menu4">
|
|
<doc xml:space="preserve">Execute navigation menu command 4. For DVD,
|
|
this jumps to the Subpicture menu.</doc>
|
|
</member>
|
|
<member name="menu5"
|
|
value="5"
|
|
c:identifier="GST_NAVIGATION_COMMAND_MENU5"
|
|
glib:nick="menu5">
|
|
<doc xml:space="preserve">Execute navigation menu command 5. For DVD,
|
|
the jumps to the audio menu.</doc>
|
|
</member>
|
|
<member name="menu6"
|
|
value="6"
|
|
c:identifier="GST_NAVIGATION_COMMAND_MENU6"
|
|
glib:nick="menu6">
|
|
<doc xml:space="preserve">Execute navigation menu command 6. For DVD,
|
|
this jumps to the angles menu.</doc>
|
|
</member>
|
|
<member name="menu7"
|
|
value="7"
|
|
c:identifier="GST_NAVIGATION_COMMAND_MENU7"
|
|
glib:nick="menu7">
|
|
<doc xml:space="preserve">Execute navigation menu command 7. For DVD,
|
|
this jumps to the chapter menu.</doc>
|
|
</member>
|
|
<member name="left"
|
|
value="20"
|
|
c:identifier="GST_NAVIGATION_COMMAND_LEFT"
|
|
glib:nick="left">
|
|
<doc xml:space="preserve">Select the next button to the left in a menu,
|
|
if such a button exists.</doc>
|
|
</member>
|
|
<member name="right"
|
|
value="21"
|
|
c:identifier="GST_NAVIGATION_COMMAND_RIGHT"
|
|
glib:nick="right">
|
|
<doc xml:space="preserve">Select the next button to the right in a menu,
|
|
if such a button exists.</doc>
|
|
</member>
|
|
<member name="up"
|
|
value="22"
|
|
c:identifier="GST_NAVIGATION_COMMAND_UP"
|
|
glib:nick="up">
|
|
<doc xml:space="preserve">Select the button above the current one in a
|
|
menu, if such a button exists.</doc>
|
|
</member>
|
|
<member name="down"
|
|
value="23"
|
|
c:identifier="GST_NAVIGATION_COMMAND_DOWN"
|
|
glib:nick="down">
|
|
<doc xml:space="preserve">Select the button below the current one in a
|
|
menu, if such a button exists.</doc>
|
|
</member>
|
|
<member name="activate"
|
|
value="24"
|
|
c:identifier="GST_NAVIGATION_COMMAND_ACTIVATE"
|
|
glib:nick="activate">
|
|
<doc xml:space="preserve">Activate (click) the currently selected
|
|
button in a menu, if such a button exists.</doc>
|
|
</member>
|
|
<member name="prev_angle"
|
|
value="30"
|
|
c:identifier="GST_NAVIGATION_COMMAND_PREV_ANGLE"
|
|
glib:nick="prev-angle">
|
|
<doc xml:space="preserve">Switch to the previous angle in a
|
|
multiangle feature.</doc>
|
|
</member>
|
|
<member name="next_angle"
|
|
value="31"
|
|
c:identifier="GST_NAVIGATION_COMMAND_NEXT_ANGLE"
|
|
glib:nick="next-angle">
|
|
<doc xml:space="preserve">Switch to the next angle in a multiangle
|
|
feature.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="NavigationEventType"
|
|
glib:type-name="GstNavigationEventType"
|
|
glib:get-type="gst_navigation_event_type_get_type"
|
|
c:type="GstNavigationEventType">
|
|
<doc xml:space="preserve">Enum values for the various events that an element implementing the
|
|
GstNavigation interface might send up the pipeline.</doc>
|
|
<member name="invalid"
|
|
value="0"
|
|
c:identifier="GST_NAVIGATION_EVENT_INVALID"
|
|
glib:nick="invalid">
|
|
<doc xml:space="preserve">Returned from
|
|
gst_navigation_event_get_type() when the passed event is not a navigation event.</doc>
|
|
</member>
|
|
<member name="key_press"
|
|
value="1"
|
|
c:identifier="GST_NAVIGATION_EVENT_KEY_PRESS"
|
|
glib:nick="key-press">
|
|
<doc xml:space="preserve">A key press event. Use
|
|
gst_navigation_event_parse_key_event() to extract the details from the event.</doc>
|
|
</member>
|
|
<member name="key_release"
|
|
value="2"
|
|
c:identifier="GST_NAVIGATION_EVENT_KEY_RELEASE"
|
|
glib:nick="key-release">
|
|
<doc xml:space="preserve">A key release event. Use
|
|
gst_navigation_event_parse_key_event() to extract the details from the event.</doc>
|
|
</member>
|
|
<member name="mouse_button_press"
|
|
value="3"
|
|
c:identifier="GST_NAVIGATION_EVENT_MOUSE_BUTTON_PRESS"
|
|
glib:nick="mouse-button-press">
|
|
<doc xml:space="preserve">A mouse button press event. Use
|
|
gst_navigation_event_parse_mouse_button_event() to extract the details from the
|
|
event.</doc>
|
|
</member>
|
|
<member name="mouse_button_release"
|
|
value="4"
|
|
c:identifier="GST_NAVIGATION_EVENT_MOUSE_BUTTON_RELEASE"
|
|
glib:nick="mouse-button-release">
|
|
<doc xml:space="preserve">A mouse button release event. Use
|
|
gst_navigation_event_parse_mouse_button_event() to extract the details from the
|
|
event.</doc>
|
|
</member>
|
|
<member name="mouse_move"
|
|
value="5"
|
|
c:identifier="GST_NAVIGATION_EVENT_MOUSE_MOVE"
|
|
glib:nick="mouse-move">
|
|
<doc xml:space="preserve">A mouse movement event. Use
|
|
gst_navigation_event_parse_mouse_move_event() to extract the details from the
|
|
event.</doc>
|
|
</member>
|
|
<member name="command"
|
|
value="6"
|
|
c:identifier="GST_NAVIGATION_EVENT_COMMAND"
|
|
glib:nick="command">
|
|
<doc xml:space="preserve">A navigation command event. Use
|
|
gst_navigation_event_parse_command() to extract the details from the event.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="NavigationInterface"
|
|
c:type="GstNavigationInterface"
|
|
glib:is-gtype-struct-for="Navigation">
|
|
<doc xml:space="preserve">Navigation interface.</doc>
|
|
<field name="iface">
|
|
<doc xml:space="preserve">the parent interface</doc>
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
<field name="send_event">
|
|
<callback name="send_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="navigation" transfer-ownership="none">
|
|
<type name="Navigation" c:type="GstNavigation*"/>
|
|
</parameter>
|
|
<parameter name="structure" transfer-ownership="none">
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<enumeration name="NavigationMessageType"
|
|
glib:type-name="GstNavigationMessageType"
|
|
glib:get-type="gst_navigation_message_type_get_type"
|
|
c:type="GstNavigationMessageType">
|
|
<doc xml:space="preserve">A set of notifications that may be received on the bus when navigation
|
|
related status changes.</doc>
|
|
<member name="invalid"
|
|
value="0"
|
|
c:identifier="GST_NAVIGATION_MESSAGE_INVALID"
|
|
glib:nick="invalid">
|
|
<doc xml:space="preserve">Returned from
|
|
gst_navigation_message_get_type() when the passed message is not a
|
|
navigation message.</doc>
|
|
</member>
|
|
<member name="mouse_over"
|
|
value="1"
|
|
c:identifier="GST_NAVIGATION_MESSAGE_MOUSE_OVER"
|
|
glib:nick="mouse-over">
|
|
<doc xml:space="preserve">Sent when the mouse moves over or leaves a
|
|
clickable region of the output, such as a DVD menu button.</doc>
|
|
</member>
|
|
<member name="commands_changed"
|
|
value="2"
|
|
c:identifier="GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED"
|
|
glib:nick="commands-changed">
|
|
<doc xml:space="preserve">Sent when the set of available commands
|
|
changes and should re-queried by interested applications.</doc>
|
|
</member>
|
|
<member name="angles_changed"
|
|
value="3"
|
|
c:identifier="GST_NAVIGATION_MESSAGE_ANGLES_CHANGED"
|
|
glib:nick="angles-changed">
|
|
<doc xml:space="preserve">Sent when display angles in a multi-angle
|
|
feature (such as a multiangle DVD) change - either angles have appeared or
|
|
disappeared.</doc>
|
|
</member>
|
|
<member name="event"
|
|
value="4"
|
|
c:identifier="GST_NAVIGATION_MESSAGE_EVENT"
|
|
glib:nick="event">
|
|
<doc xml:space="preserve">Sent when a navigation event was not handled
|
|
by any element in the pipeline (Since 1.6)</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="NavigationQueryType"
|
|
glib:type-name="GstNavigationQueryType"
|
|
glib:get-type="gst_navigation_query_type_get_type"
|
|
c:type="GstNavigationQueryType">
|
|
<doc xml:space="preserve">Tyoes of navigation interface queries.</doc>
|
|
<member name="invalid"
|
|
value="0"
|
|
c:identifier="GST_NAVIGATION_QUERY_INVALID"
|
|
glib:nick="invalid">
|
|
<doc xml:space="preserve">invalid query</doc>
|
|
</member>
|
|
<member name="commands"
|
|
value="1"
|
|
c:identifier="GST_NAVIGATION_QUERY_COMMANDS"
|
|
glib:nick="commands">
|
|
<doc xml:space="preserve">command query</doc>
|
|
</member>
|
|
<member name="angles"
|
|
value="2"
|
|
c:identifier="GST_NAVIGATION_QUERY_ANGLES"
|
|
glib:nick="angles">
|
|
<doc xml:space="preserve">viewing angle query</doc>
|
|
</member>
|
|
</enumeration>
|
|
<constant name="VIDEO_COLORIMETRY_BT2020"
|
|
value="bt2020"
|
|
c:type="GST_VIDEO_COLORIMETRY_BT2020">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_COLORIMETRY_BT601"
|
|
value="bt601"
|
|
c:type="GST_VIDEO_COLORIMETRY_BT601">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_COLORIMETRY_BT709"
|
|
value="bt709"
|
|
c:type="GST_VIDEO_COLORIMETRY_BT709">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_COLORIMETRY_SMPTE240M"
|
|
value="smpte240m"
|
|
c:type="GST_VIDEO_COLORIMETRY_SMPTE240M">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_COLORIMETRY_SRGB"
|
|
value="sRGB"
|
|
c:type="GST_VIDEO_COLORIMETRY_SRGB">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_A" value="3" c:type="GST_VIDEO_COMP_A">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_B" value="2" c:type="GST_VIDEO_COMP_B">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_G" value="1" c:type="GST_VIDEO_COMP_G">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_INDEX" value="0" c:type="GST_VIDEO_COMP_INDEX">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_PALETTE"
|
|
value="1"
|
|
c:type="GST_VIDEO_COMP_PALETTE">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_R" value="0" c:type="GST_VIDEO_COMP_R">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_U" value="1" c:type="GST_VIDEO_COMP_U">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_V" value="2" c:type="GST_VIDEO_COMP_V">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_Y" value="0" c:type="GST_VIDEO_COMP_Y">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_ALPHA_MODE"
|
|
value="GstVideoConverter.alpha-mode"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_ALPHA_MODE">
|
|
<doc xml:space="preserve">#GST_TYPE_VIDEO_ALPHA_MODE, the alpha mode to use.
|
|
Default is #GST_VIDEO_ALPHA_MODE_COPY.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_ALPHA_VALUE"
|
|
value="GstVideoConverter.alpha-value"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE">
|
|
<doc xml:space="preserve">#G_TYPE_DOUBLE, the alpha color value to use.
|
|
Default to 1.0</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_BORDER_ARGB"
|
|
value="GstVideoConverter.border-argb"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_BORDER_ARGB">
|
|
<doc xml:space="preserve">#G_TYPE_UINT, the border color to use if #GST_VIDEO_CONVERTER_OPT_FILL_BORDER
|
|
is set to %TRUE. The color is in ARGB format.
|
|
Default 0xff000000</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_CHROMA_MODE"
|
|
value="GstVideoConverter.chroma-mode"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_CHROMA_MODE">
|
|
<doc xml:space="preserve">#GST_TYPE_VIDEO_CHROMA_MODE, set the chroma resample mode subsampled
|
|
formats. Default is #GST_VIDEO_CHROMA_MODE_FULL.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD"
|
|
value="GstVideoConverter.chroma-resampler-method"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD">
|
|
<doc xml:space="preserve">#GST_TYPE_RESAMPLER_METHOD, The resampler method to use for
|
|
chroma resampling. Other options for the resampler can be used, see
|
|
the #GstResampler. Default is #GST_RESAMPLER_METHOD_LINEAR</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_DEST_HEIGHT"
|
|
value="GstVideoConverter.dest-height"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_DEST_HEIGHT">
|
|
<doc xml:space="preserve">#G_TYPE_INT, height in the destination frame, default destination height</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_DEST_WIDTH"
|
|
value="GstVideoConverter.dest-width"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_DEST_WIDTH">
|
|
<doc xml:space="preserve">#G_TYPE_INT, width in the destination frame, default destination width</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_DEST_X"
|
|
value="GstVideoConverter.dest-x"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_DEST_X">
|
|
<doc xml:space="preserve">#G_TYPE_INT, x position in the destination frame, default 0</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_DEST_Y"
|
|
value="GstVideoConverter.dest-y"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_DEST_Y">
|
|
<doc xml:space="preserve">#G_TYPE_INT, y position in the destination frame, default 0</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_DITHER_METHOD"
|
|
value="GstVideoConverter.dither-method"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_DITHER_METHOD">
|
|
<doc xml:space="preserve">#GST_TYPE_VIDEO_DITHER_METHOD, The dither method to use when
|
|
changing bit depth.
|
|
Default is #GST_VIDEO_DITHER_BAYER.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION"
|
|
value="GstVideoConverter.dither-quantization"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION">
|
|
<doc xml:space="preserve">#G_TYPE_UINT, The quantization amount to dither to. Components will be
|
|
quantized to multiples of this value.
|
|
Default is 1</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_FILL_BORDER"
|
|
value="GstVideoConverter.fill-border"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_FILL_BORDER">
|
|
<doc xml:space="preserve">#G_TYPE_BOOLEAN, if the destination rectangle does not fill the complete
|
|
destination image, render a border with
|
|
#GST_VIDEO_CONVERTER_OPT_BORDER_ARGB. Otherwise the unusded pixels in the
|
|
destination are untouched. Default %TRUE.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_GAMMA_MODE"
|
|
value="GstVideoConverter.gamma-mode"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_GAMMA_MODE">
|
|
<doc xml:space="preserve">#GST_TYPE_VIDEO_GAMMA_MODE, set the gamma mode.
|
|
Default is #GST_VIDEO_GAMMA_MODE_NONE.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_MATRIX_MODE"
|
|
value="GstVideoConverter.matrix-mode"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_MATRIX_MODE">
|
|
<doc xml:space="preserve">#GST_TYPE_VIDEO_MATRIX_MODE, set the color matrix conversion mode for
|
|
converting between Y'PbPr and non-linear RGB (R'G'B').
|
|
Default is #GST_VIDEO_MATRIX_MODE_FULL.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_PRIMARIES_MODE"
|
|
value="GstVideoConverter.primaries-mode"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_PRIMARIES_MODE">
|
|
<doc xml:space="preserve">#GST_TYPE_VIDEO_PRIMARIES_MODE, set the primaries conversion mode.
|
|
Default is #GST_VIDEO_PRIMARIES_MODE_NONE.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_RESAMPLER_METHOD"
|
|
value="GstVideoConverter.resampler-method"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_RESAMPLER_METHOD">
|
|
<doc xml:space="preserve">#GST_TYPE_RESAMPLER_METHOD, The resampler method to use for
|
|
resampling. Other options for the resampler can be used, see
|
|
the #GstResampler. Default is #GST_RESAMPLER_METHOD_CUBIC</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_RESAMPLER_TAPS"
|
|
value="GstVideoConverter.resampler-taps"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_RESAMPLER_TAPS">
|
|
<doc xml:space="preserve">#G_TYPE_UINT, The number of taps for the resampler.
|
|
Default is 0: let the resampler choose a good value.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_SRC_HEIGHT"
|
|
value="GstVideoConverter.src-height"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_SRC_HEIGHT">
|
|
<doc xml:space="preserve">#G_TYPE_INT, source height to convert, default source height</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_SRC_WIDTH"
|
|
value="GstVideoConverter.src-width"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_SRC_WIDTH">
|
|
<doc xml:space="preserve">#G_TYPE_INT, source width to convert, default source width</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_SRC_X"
|
|
value="GstVideoConverter.src-x"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_SRC_X">
|
|
<doc xml:space="preserve">#G_TYPE_INT, source x position to start conversion, default 0</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_SRC_Y"
|
|
value="GstVideoConverter.src-y"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_SRC_Y">
|
|
<doc xml:space="preserve">#G_TYPE_INT, source y position to start conversion, default 0</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_THREADS"
|
|
value="GstVideoConverter.threads"
|
|
c:type="GST_VIDEO_CONVERTER_OPT_THREADS">
|
|
<doc xml:space="preserve">#G_TYPE_UINT, maximum number of threads to use. Default 1, 0 for the number
|
|
of cores.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_DECODER_MAX_ERRORS"
|
|
value="10"
|
|
c:type="GST_VIDEO_DECODER_MAX_ERRORS">
|
|
<doc xml:space="preserve">Default maximum number of errors tolerated before signaling error.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_DECODER_SINK_NAME"
|
|
value="sink"
|
|
c:type="GST_VIDEO_DECODER_SINK_NAME">
|
|
<doc xml:space="preserve">The name of the templates for the sink pad.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_DECODER_SRC_NAME"
|
|
value="src"
|
|
c:type="GST_VIDEO_DECODER_SRC_NAME">
|
|
<doc xml:space="preserve">The name of the templates for the source pad.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_ENCODER_SINK_NAME"
|
|
value="sink"
|
|
c:type="GST_VIDEO_ENCODER_SINK_NAME">
|
|
<doc xml:space="preserve">The name of the templates for the sink pad.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_ENCODER_SRC_NAME"
|
|
value="src"
|
|
c:type="GST_VIDEO_ENCODER_SRC_NAME">
|
|
<doc xml:space="preserve">The name of the templates for the source pad.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_FORMATS_ALL"
|
|
value="{ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32 }"
|
|
c:type="GST_VIDEO_FORMATS_ALL">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_FPS_RANGE"
|
|
value="(fraction) [ 0, max ]"
|
|
c:type="GST_VIDEO_FPS_RANGE">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_MAX_COMPONENTS"
|
|
value="4"
|
|
c:type="GST_VIDEO_MAX_COMPONENTS">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_MAX_PLANES" value="4" c:type="GST_VIDEO_MAX_PLANES">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS"
|
|
value="{ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }"
|
|
c:type="GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS"
|
|
version="1.2">
|
|
<doc xml:space="preserve">Video formats supported by gst_video_overlay_composition_blend(), for
|
|
use in overlay elements' pad template caps.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_RESAMPLER_OPT_CUBIC_B"
|
|
value="GstVideoResampler.cubic-b"
|
|
c:type="GST_VIDEO_RESAMPLER_OPT_CUBIC_B">
|
|
<doc xml:space="preserve">G_TYPE_DOUBLE, B parameter of the cubic filter. The B
|
|
parameter controls the bluriness. Values between 0.0 and
|
|
2.0 are accepted. 1/3 is the default.
|
|
|
|
Below are some values of popular filters:
|
|
B C
|
|
Hermite 0.0 0.0
|
|
Spline 1.0 0.0
|
|
Catmull-Rom 0.0 1/2
|
|
Mitchell 1/3 1/3
|
|
Robidoux 0.3782 0.3109
|
|
Robidoux
|
|
Sharp 0.2620 0.3690
|
|
Robidoux
|
|
Soft 0.6796 0.1602</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_RESAMPLER_OPT_CUBIC_C"
|
|
value="GstVideoResampler.cubic-c"
|
|
c:type="GST_VIDEO_RESAMPLER_OPT_CUBIC_C">
|
|
<doc xml:space="preserve">G_TYPE_DOUBLE, C parameter of the cubic filter. The C
|
|
parameter controls the Keys alpha value. Values between 0.0 and
|
|
2.0 are accepted. 1/3 is the default.
|
|
|
|
See #GST_VIDEO_RESAMPLER_OPT_CUBIC_B for some more common values</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_RESAMPLER_OPT_ENVELOPE"
|
|
value="GstVideoResampler.envelope"
|
|
c:type="GST_VIDEO_RESAMPLER_OPT_ENVELOPE">
|
|
<doc xml:space="preserve">G_TYPE_DOUBLE, specifies the size of filter envelope for
|
|
@GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between
|
|
1.0 and 5.0. 2.0 is the default.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_RESAMPLER_OPT_MAX_TAPS"
|
|
value="GstVideoResampler.max-taps"
|
|
c:type="GST_VIDEO_RESAMPLER_OPT_MAX_TAPS">
|
|
<doc xml:space="preserve">G_TYPE_INT, limits the maximum number of taps to use.
|
|
16 is the default.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_RESAMPLER_OPT_SHARPEN"
|
|
value="GstVideoResampler.sharpen"
|
|
c:type="GST_VIDEO_RESAMPLER_OPT_SHARPEN">
|
|
<doc xml:space="preserve">G_TYPE_DOUBLE, specifies sharpening of the filter for
|
|
@GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between
|
|
0.0 and 1.0. 0.0 is the default.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_RESAMPLER_OPT_SHARPNESS"
|
|
value="GstVideoResampler.sharpness"
|
|
c:type="GST_VIDEO_RESAMPLER_OPT_SHARPNESS">
|
|
<doc xml:space="preserve">G_TYPE_DOUBLE, specifies sharpness of the filter for
|
|
@GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between
|
|
0.5 and 1.5. 1.0 is the default.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_SCALER_OPT_DITHER_METHOD"
|
|
value="GstVideoScaler.dither-method"
|
|
c:type="GST_VIDEO_SCALER_OPT_DITHER_METHOD">
|
|
<doc xml:space="preserve">#GST_TYPE_VIDEO_DITHER_METHOD, The dither method to use for propagating
|
|
quatization errors.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_SIZE_RANGE"
|
|
value="(int) [ 1, max ]"
|
|
c:type="GST_VIDEO_SIZE_RANGE">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_TILE_TYPE_MASK"
|
|
value="65535"
|
|
c:type="GST_VIDEO_TILE_TYPE_MASK">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_TILE_TYPE_SHIFT"
|
|
value="16"
|
|
c:type="GST_VIDEO_TILE_TYPE_SHIFT">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_TILE_X_TILES_MASK"
|
|
value="65535"
|
|
c:type="GST_VIDEO_TILE_X_TILES_MASK">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_TILE_Y_TILES_SHIFT"
|
|
value="16"
|
|
c:type="GST_VIDEO_TILE_Y_TILES_SHIFT">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<callback name="VideoAffineTransformationGetMatrix"
|
|
c:type="GstVideoAffineTransformationGetMatrix">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="VideoAffineTransformationMeta"
|
|
c:type="GstVideoAffineTransformationMeta*"/>
|
|
</parameter>
|
|
<parameter name="matrix" transfer-ownership="none">
|
|
<type name="gfloat" c:type="gfloat*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="VideoAffineTransformationMeta"
|
|
c:type="GstVideoAffineTransformationMeta"
|
|
version="1.8">
|
|
<doc xml:space="preserve">Extra buffer metadata for performing an affine transformation using a 4x4
|
|
matrix. The transformation matrix can be composed with
|
|
gst_video_affine_transformation_meta_apply_matrix().
|
|
|
|
The vertices operated on are all in the range 0 to 1, not in
|
|
Normalized Device Coordinates (-1 to +1). Transforming points in this space
|
|
are assumed to have an origin at (0.5, 0.5, 0.5) in a left-handed coordinate
|
|
system with the x-axis moving horizontally (positive values to the right),
|
|
the y-axis moving vertically (positive values up the screen) and the z-axis
|
|
perpendicular to the screen (positive values into the screen).</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="matrix" writable="1">
|
|
<doc xml:space="preserve">the column-major 4x4 transformation matrix</doc>
|
|
<array zero-terminated="0" c:type="gfloat" fixed-size="16">
|
|
<type name="gfloat" c:type="gfloat"/>
|
|
</array>
|
|
</field>
|
|
<method name="apply_matrix"
|
|
c:identifier="gst_video_affine_transformation_meta_apply_matrix"
|
|
version="1.8">
|
|
<doc xml:space="preserve">Apply a transformation using the given 4x4 transformation matrix.
|
|
Performs the multiplication, meta->matrix X matrix.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoAffineTransformationMeta</doc>
|
|
<type name="VideoAffineTransformationMeta"
|
|
c:type="GstVideoAffineTransformationMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="matrix" transfer-ownership="none">
|
|
<doc xml:space="preserve">a 4x4 transformation matrix to be applied</doc>
|
|
<type name="gfloat" c:type="const gfloat*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="get_info"
|
|
c:identifier="gst_video_affine_transformation_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<record name="VideoAlignment" c:type="GstVideoAlignment">
|
|
<doc xml:space="preserve">Extra alignment parameters for the memory of video buffers. This
|
|
structure is usually used to configure the bufferpool if it supports the
|
|
#GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT.</doc>
|
|
<field name="padding_top" writable="1">
|
|
<doc xml:space="preserve">extra pixels on the top</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="padding_bottom" writable="1">
|
|
<doc xml:space="preserve">extra pixels on the bottom</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="padding_left" writable="1">
|
|
<doc xml:space="preserve">extra pixels on the left side</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="padding_right" writable="1">
|
|
<doc xml:space="preserve">extra pixels on the right side</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="stride_align" writable="1">
|
|
<doc xml:space="preserve">array with extra alignment requirements for the strides</doc>
|
|
<array zero-terminated="0" c:type="guint" fixed-size="4">
|
|
<type name="guint" c:type="guint"/>
|
|
</array>
|
|
</field>
|
|
<method name="reset" c:identifier="gst_video_alignment_reset">
|
|
<doc xml:space="preserve">Set @align to its default values with no padding and no alignment.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="align" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoAlignment</doc>
|
|
<type name="VideoAlignment" c:type="GstVideoAlignment*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<enumeration name="VideoAlphaMode"
|
|
version="1.6"
|
|
glib:type-name="GstVideoAlphaMode"
|
|
glib:get-type="gst_video_alpha_mode_get_type"
|
|
c:type="GstVideoAlphaMode">
|
|
<doc xml:space="preserve">Different alpha modes.</doc>
|
|
<member name="copy"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_ALPHA_MODE_COPY"
|
|
glib:nick="copy">
|
|
<doc xml:space="preserve">When input and output have alpha, it will be copied.
|
|
When the input has no alpha, alpha will be set to
|
|
#GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE</doc>
|
|
</member>
|
|
<member name="set"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_ALPHA_MODE_SET"
|
|
glib:nick="set">
|
|
<doc xml:space="preserve">set all alpha to
|
|
#GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE</doc>
|
|
</member>
|
|
<member name="mult"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_ALPHA_MODE_MULT"
|
|
glib:nick="mult">
|
|
<doc xml:space="preserve">multiply all alpha with
|
|
#GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE.
|
|
When the input format has no alpha but the output format has, the
|
|
alpha value will be set to #GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE</doc>
|
|
</member>
|
|
</enumeration>
|
|
<bitfield name="VideoBufferFlags"
|
|
glib:type-name="GstVideoBufferFlags"
|
|
glib:get-type="gst_video_buffer_flags_get_type"
|
|
c:type="GstVideoBufferFlags">
|
|
<doc xml:space="preserve">Additional video buffer flags. These flags can potentially be used on any
|
|
buffers carrying video data - even encoded data.
|
|
|
|
Note that these are only valid for #GstCaps of type: video/...
|
|
They can conflict with other extended buffer flags.</doc>
|
|
<member name="interlaced"
|
|
value="1048576"
|
|
c:identifier="GST_VIDEO_BUFFER_FLAG_INTERLACED"
|
|
glib:nick="interlaced">
|
|
<doc xml:space="preserve">If the #GstBuffer is interlaced. In mixed
|
|
interlace-mode, this flags specifies if the frame is
|
|
interlaced or progressive.</doc>
|
|
</member>
|
|
<member name="tff"
|
|
value="2097152"
|
|
c:identifier="GST_VIDEO_BUFFER_FLAG_TFF"
|
|
glib:nick="tff">
|
|
<doc xml:space="preserve">If the #GstBuffer is interlaced, then the first field
|
|
in the video frame is the top field. If unset, the
|
|
bottom field is first.</doc>
|
|
</member>
|
|
<member name="rff"
|
|
value="4194304"
|
|
c:identifier="GST_VIDEO_BUFFER_FLAG_RFF"
|
|
glib:nick="rff">
|
|
<doc xml:space="preserve">If the #GstBuffer is interlaced, then the first field
|
|
(as defined by the %GST_VIDEO_BUFFER_TFF flag setting)
|
|
is repeated.</doc>
|
|
</member>
|
|
<member name="onefield"
|
|
value="8388608"
|
|
c:identifier="GST_VIDEO_BUFFER_FLAG_ONEFIELD"
|
|
glib:nick="onefield">
|
|
<doc xml:space="preserve">If the #GstBuffer is interlaced, then only the
|
|
first field (as defined by the %GST_VIDEO_BUFFER_TFF
|
|
flag setting) is to be displayed.</doc>
|
|
</member>
|
|
<member name="multiple_view"
|
|
value="16777216"
|
|
c:identifier="GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW"
|
|
glib:nick="multiple-view">
|
|
<doc xml:space="preserve">The #GstBuffer contains one or more specific views,
|
|
such as left or right eye view. This flags is set on
|
|
any buffer that contains non-mono content - even for
|
|
streams that contain only a single viewpoint. In mixed
|
|
mono / non-mono streams, the absense of the flag marks
|
|
mono buffers.</doc>
|
|
</member>
|
|
<member name="first_in_bundle"
|
|
value="33554432"
|
|
c:identifier="GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE"
|
|
glib:nick="first-in-bundle">
|
|
<doc xml:space="preserve">When conveying stereo/multiview content with
|
|
frame-by-frame methods, this flag marks the first buffer
|
|
in a bundle of frames that belong together.</doc>
|
|
</member>
|
|
<member name="last"
|
|
value="268435456"
|
|
c:identifier="GST_VIDEO_BUFFER_FLAG_LAST"
|
|
glib:nick="last">
|
|
<doc xml:space="preserve">Offset to define more flags</doc>
|
|
</member>
|
|
</bitfield>
|
|
<class name="VideoBufferPool"
|
|
c:symbol-prefix="video_buffer_pool"
|
|
c:type="GstVideoBufferPool"
|
|
parent="Gst.BufferPool"
|
|
glib:type-name="GstVideoBufferPool"
|
|
glib:get-type="gst_video_buffer_pool_get_type"
|
|
glib:type-struct="VideoBufferPoolClass">
|
|
<constructor name="new" c:identifier="gst_video_buffer_pool_new">
|
|
<doc xml:space="preserve">Create a new bufferpool that can allocate video frames. This bufferpool
|
|
supports all the video bufferpool options.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstBufferPool to allocate video frames</doc>
|
|
<type name="Gst.BufferPool" c:type="GstBufferPool*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<field name="bufferpool">
|
|
<type name="Gst.BufferPool" c:type="GstBufferPool"/>
|
|
</field>
|
|
<field name="priv">
|
|
<type name="VideoBufferPoolPrivate"
|
|
c:type="GstVideoBufferPoolPrivate*"/>
|
|
</field>
|
|
</class>
|
|
<record name="VideoBufferPoolClass"
|
|
c:type="GstVideoBufferPoolClass"
|
|
glib:is-gtype-struct-for="VideoBufferPool">
|
|
<field name="parent_class">
|
|
<type name="Gst.BufferPoolClass" c:type="GstBufferPoolClass"/>
|
|
</field>
|
|
</record>
|
|
<record name="VideoBufferPoolPrivate"
|
|
c:type="GstVideoBufferPoolPrivate"
|
|
disguised="1">
|
|
</record>
|
|
<bitfield name="VideoChromaFlags"
|
|
glib:type-name="GstVideoChromaFlags"
|
|
glib:get-type="gst_video_chroma_flags_get_type"
|
|
c:type="GstVideoChromaFlags">
|
|
<doc xml:space="preserve">Extra flags that influence the result from gst_video_chroma_resample_new().</doc>
|
|
<member name="none"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_CHROMA_FLAG_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="interlaced"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_CHROMA_FLAG_INTERLACED"
|
|
glib:nick="interlaced">
|
|
<doc xml:space="preserve">the input is interlaced</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="VideoChromaMethod"
|
|
glib:type-name="GstVideoChromaMethod"
|
|
glib:get-type="gst_video_chroma_method_get_type"
|
|
c:type="GstVideoChromaMethod">
|
|
<doc xml:space="preserve">Different subsampling and upsampling methods</doc>
|
|
<member name="nearest"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_CHROMA_METHOD_NEAREST"
|
|
glib:nick="nearest">
|
|
<doc xml:space="preserve">Duplicates the chroma samples when
|
|
upsampling and drops when subsampling</doc>
|
|
</member>
|
|
<member name="linear"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_CHROMA_METHOD_LINEAR"
|
|
glib:nick="linear">
|
|
<doc xml:space="preserve">Uses linear interpolation to reconstruct
|
|
missing chroma and averaging to subsample</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="VideoChromaMode"
|
|
version="1.6"
|
|
glib:type-name="GstVideoChromaMode"
|
|
glib:get-type="gst_video_chroma_mode_get_type"
|
|
c:type="GstVideoChromaMode">
|
|
<doc xml:space="preserve">Different chroma downsampling and upsampling modes</doc>
|
|
<member name="full"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_CHROMA_MODE_FULL"
|
|
glib:nick="full">
|
|
<doc xml:space="preserve">do full chroma up and down sampling</doc>
|
|
</member>
|
|
<member name="upsample_only"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_CHROMA_MODE_UPSAMPLE_ONLY"
|
|
glib:nick="upsample-only">
|
|
<doc xml:space="preserve">only perform chroma upsampling</doc>
|
|
</member>
|
|
<member name="downsample_only"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_CHROMA_MODE_DOWNSAMPLE_ONLY"
|
|
glib:nick="downsample-only">
|
|
<doc xml:space="preserve">only perform chroma downsampling</doc>
|
|
</member>
|
|
<member name="none"
|
|
value="3"
|
|
c:identifier="GST_VIDEO_CHROMA_MODE_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">disable chroma resampling</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="VideoChromaResample"
|
|
c:type="GstVideoChromaResample"
|
|
disguised="1">
|
|
<method name=""
|
|
c:identifier="gst_video_chroma_resample"
|
|
moved-to="video_chroma_resample">
|
|
<doc xml:space="preserve">Perform resampling of @width chroma pixels in @lines.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="resample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaResample</doc>
|
|
<type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
|
|
</instance-parameter>
|
|
<parameter name="lines"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">pixel lines</doc>
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of pixels on one line</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_video_chroma_resample_free">
|
|
<doc xml:space="preserve">Free @resample</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="resample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaResample</doc>
|
|
<type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_info"
|
|
c:identifier="gst_video_chroma_resample_get_info">
|
|
<doc xml:space="preserve">The resampler must be fed @n_lines at a time. The first line should be
|
|
at @offset.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="resample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaResample</doc>
|
|
<type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
|
|
</instance-parameter>
|
|
<parameter name="n_lines" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of input lines</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the first line</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="new"
|
|
c:identifier="gst_video_chroma_resample_new"
|
|
introspectable="0">
|
|
<doc xml:space="preserve">Create a new resampler object for the given parameters. When @h_factor or
|
|
@v_factor is > 0, upsampling will be used, otherwise subsampling is
|
|
performed.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a new #GstVideoChromaResample that should be freed with
|
|
gst_video_chroma_resample_free() after usage.</doc>
|
|
<type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="method" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaMethod</doc>
|
|
<type name="VideoChromaMethod" c:type="GstVideoChromaMethod"/>
|
|
</parameter>
|
|
<parameter name="site" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaSite</doc>
|
|
<type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoChromaFlags</doc>
|
|
<type name="VideoChromaFlags" c:type="GstVideoChromaFlags"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="h_factor" transfer-ownership="none">
|
|
<doc xml:space="preserve">horizontal resampling factor</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="v_factor" transfer-ownership="none">
|
|
<doc xml:space="preserve">vertical resampling factor</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<bitfield name="VideoChromaSite"
|
|
glib:type-name="GstVideoChromaSite"
|
|
glib:get-type="gst_video_chroma_site_get_type"
|
|
c:type="GstVideoChromaSite">
|
|
<doc xml:space="preserve">Various Chroma sitings.</doc>
|
|
<member name="unknown"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_CHROMA_SITE_UNKNOWN"
|
|
glib:nick="unknown">
|
|
<doc xml:space="preserve">unknown cositing</doc>
|
|
</member>
|
|
<member name="none"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_CHROMA_SITE_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">no cositing</doc>
|
|
</member>
|
|
<member name="h_cosited"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_CHROMA_SITE_H_COSITED"
|
|
glib:nick="h-cosited">
|
|
<doc xml:space="preserve">chroma is horizontally cosited</doc>
|
|
</member>
|
|
<member name="v_cosited"
|
|
value="4"
|
|
c:identifier="GST_VIDEO_CHROMA_SITE_V_COSITED"
|
|
glib:nick="v-cosited">
|
|
<doc xml:space="preserve">chroma is vertically cosited</doc>
|
|
</member>
|
|
<member name="alt_line"
|
|
value="8"
|
|
c:identifier="GST_VIDEO_CHROMA_SITE_ALT_LINE"
|
|
glib:nick="alt-line">
|
|
<doc xml:space="preserve">choma samples are sited on alternate lines</doc>
|
|
</member>
|
|
<member name="cosited"
|
|
value="6"
|
|
c:identifier="GST_VIDEO_CHROMA_SITE_COSITED"
|
|
glib:nick="cosited">
|
|
<doc xml:space="preserve">chroma samples cosited with luma samples</doc>
|
|
</member>
|
|
<member name="jpeg"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_CHROMA_SITE_JPEG"
|
|
glib:nick="jpeg">
|
|
<doc xml:space="preserve">jpeg style cositing, also for mpeg1 and mjpeg</doc>
|
|
</member>
|
|
<member name="mpeg2"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_CHROMA_SITE_MPEG2"
|
|
glib:nick="mpeg2">
|
|
<doc xml:space="preserve">mpeg2 style cositing</doc>
|
|
</member>
|
|
<member name="dv"
|
|
value="14"
|
|
c:identifier="GST_VIDEO_CHROMA_SITE_DV"
|
|
glib:nick="dv">
|
|
<doc xml:space="preserve">DV style cositing</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="VideoCodecFrame"
|
|
c:type="GstVideoCodecFrame"
|
|
glib:type-name="GstVideoCodecFrame"
|
|
glib:get-type="gst_video_codec_frame_get_type"
|
|
c:symbol-prefix="video_codec_frame">
|
|
<doc xml:space="preserve">A #GstVideoCodecFrame represents a video frame both in raw and
|
|
encoded form.</doc>
|
|
<field name="ref_count" readable="0" private="1">
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="flags" readable="0" private="1">
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="system_frame_number" writable="1">
|
|
<doc xml:space="preserve">Unique identifier for the frame. Use this if you need
|
|
to get hold of the frame later (like when data is being decoded).
|
|
Typical usage in decoders is to set this on the opaque value provided
|
|
to the library and get back the frame using gst_video_decoder_get_frame()</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="decode_frame_number" writable="1">
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="presentation_frame_number" writable="1">
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="dts" writable="1">
|
|
<doc xml:space="preserve">Decoding timestamp</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="pts" writable="1">
|
|
<doc xml:space="preserve">Presentation timestamp</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="duration" writable="1">
|
|
<doc xml:space="preserve">Duration of the frame</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="distance_from_sync" writable="1">
|
|
<doc xml:space="preserve">Distance in frames from the last synchronization point.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="input_buffer" writable="1">
|
|
<doc xml:space="preserve">the input #GstBuffer that created this frame. The buffer is owned
|
|
by the frame and references to the frame instead of the buffer should
|
|
be kept.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</field>
|
|
<field name="output_buffer" writable="1">
|
|
<doc xml:space="preserve">the output #GstBuffer. Implementations should set this either
|
|
directly, or by using the
|
|
@gst_video_decoder_allocate_output_frame() or
|
|
@gst_video_decoder_allocate_output_buffer() methods. The buffer is
|
|
owned by the frame and references to the frame instead of the
|
|
buffer should be kept.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</field>
|
|
<field name="deadline" writable="1">
|
|
<doc xml:space="preserve">Running time when the frame will be used.</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="events" readable="0" private="1">
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</type>
|
|
</field>
|
|
<field name="user_data" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="user_data_destroy_notify" readable="0" private="1">
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</field>
|
|
<union name="abidata" c:type="abidata">
|
|
<record name="ABI" c:type="ABI">
|
|
<field name="ts" writable="1">
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="ts2" writable="1">
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
</record>
|
|
<field name="padding" writable="1">
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="20">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</union>
|
|
<method name="get_user_data"
|
|
c:identifier="gst_video_codec_frame_get_user_data">
|
|
<doc xml:space="preserve">Gets private data set on the frame by the subclass via
|
|
gst_video_codec_frame_set_user_data() previously.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The previously set user_data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gst_video_codec_frame_ref">
|
|
<doc xml:space="preserve">Increases the refcount of the given frame by one.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">@buf</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_user_data"
|
|
c:identifier="gst_video_codec_frame_set_user_data">
|
|
<doc xml:space="preserve">Sets @user_data on the frame and the #GDestroyNotify that will be called when
|
|
the frame is freed. Allows to attach private data by the subclass to frames.
|
|
|
|
If a @user_data was previously set, then the previous set @notify will be called
|
|
before the @user_data is replaced.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</instance-parameter>
|
|
<parameter name="user_data"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">private data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify"
|
|
transfer-ownership="none"
|
|
scope="async"
|
|
closure="0">
|
|
<doc xml:space="preserve">a #GDestroyNotify</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_video_codec_frame_unref">
|
|
<doc xml:space="preserve">Decreases the refcount of the frame. If the refcount reaches 0, the frame
|
|
will be freed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<bitfield name="VideoCodecFrameFlags" c:type="GstVideoCodecFrameFlags">
|
|
<doc xml:space="preserve">Flags for #GstVideoCodecFrame</doc>
|
|
<member name="decode_only"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY">
|
|
<doc xml:space="preserve">is the frame only meant to be decoded</doc>
|
|
</member>
|
|
<member name="sync_point"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_SYNC_POINT">
|
|
<doc xml:space="preserve">is the frame a synchronization point (keyframe)</doc>
|
|
</member>
|
|
<member name="force_keyframe"
|
|
value="4"
|
|
c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME">
|
|
<doc xml:space="preserve">should the output frame be made a keyframe</doc>
|
|
</member>
|
|
<member name="force_keyframe_headers"
|
|
value="8"
|
|
c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME_HEADERS">
|
|
<doc xml:space="preserve">should the encoder output stream headers</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="VideoCodecState"
|
|
c:type="GstVideoCodecState"
|
|
glib:type-name="GstVideoCodecState"
|
|
glib:get-type="gst_video_codec_state_get_type"
|
|
c:symbol-prefix="video_codec_state">
|
|
<doc xml:space="preserve">Structure representing the state of an incoming or outgoing video
|
|
stream for encoders and decoders.
|
|
|
|
Decoders and encoders will receive such a state through their
|
|
respective @set_format vmethods.
|
|
|
|
Decoders and encoders can set the downstream state, by using the
|
|
@gst_video_decoder_set_output_state() or
|
|
@gst_video_encoder_set_output_state() methods.</doc>
|
|
<field name="ref_count" readable="0" private="1">
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="info" writable="1">
|
|
<doc xml:space="preserve">The #GstVideoInfo describing the stream</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo"/>
|
|
</field>
|
|
<field name="caps" writable="1">
|
|
<doc xml:space="preserve">The #GstCaps used in the caps negotiation of the pad.</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</field>
|
|
<field name="codec_data" writable="1">
|
|
<doc xml:space="preserve">a #GstBuffer corresponding to the
|
|
'codec_data' field of a stream, or NULL.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</field>
|
|
<field name="allocation_caps" writable="1">
|
|
<doc xml:space="preserve">The #GstCaps for allocation query and pool
|
|
negotiation. Since: 1.10</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</field>
|
|
<field name="padding" readable="0" private="1">
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="19">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<method name="ref" c:identifier="gst_video_codec_state_ref">
|
|
<doc xml:space="preserve">Increases the refcount of the given state by one.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">@buf</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="state" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecState</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_video_codec_state_unref">
|
|
<doc xml:space="preserve">Decreases the refcount of the state. If the refcount reaches 0, the state
|
|
will be freed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="state" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecState</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<enumeration name="VideoColorMatrix"
|
|
glib:type-name="GstVideoColorMatrix"
|
|
glib:get-type="gst_video_color_matrix_get_type"
|
|
c:type="GstVideoColorMatrix">
|
|
<doc xml:space="preserve">The color matrix is used to convert between Y'PbPr and
|
|
non-linear RGB (R'G'B')</doc>
|
|
<member name="unknown"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_COLOR_MATRIX_UNKNOWN"
|
|
glib:nick="unknown">
|
|
<doc xml:space="preserve">unknown matrix</doc>
|
|
</member>
|
|
<member name="rgb"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_COLOR_MATRIX_RGB"
|
|
glib:nick="rgb">
|
|
<doc xml:space="preserve">identity matrix</doc>
|
|
</member>
|
|
<member name="fcc"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_COLOR_MATRIX_FCC"
|
|
glib:nick="fcc">
|
|
<doc xml:space="preserve">FCC color matrix</doc>
|
|
</member>
|
|
<member name="bt709"
|
|
value="3"
|
|
c:identifier="GST_VIDEO_COLOR_MATRIX_BT709"
|
|
glib:nick="bt709">
|
|
<doc xml:space="preserve">ITU-R BT.709 color matrix</doc>
|
|
</member>
|
|
<member name="bt601"
|
|
value="4"
|
|
c:identifier="GST_VIDEO_COLOR_MATRIX_BT601"
|
|
glib:nick="bt601">
|
|
<doc xml:space="preserve">ITU-R BT.601 color matrix</doc>
|
|
</member>
|
|
<member name="smpte240m"
|
|
value="5"
|
|
c:identifier="GST_VIDEO_COLOR_MATRIX_SMPTE240M"
|
|
glib:nick="smpte240m">
|
|
<doc xml:space="preserve">SMPTE 240M color matrix</doc>
|
|
</member>
|
|
<member name="bt2020"
|
|
value="6"
|
|
c:identifier="GST_VIDEO_COLOR_MATRIX_BT2020"
|
|
glib:nick="bt2020">
|
|
<doc xml:space="preserve">ITU-R BT.2020 color matrix. Since: 1.6</doc>
|
|
</member>
|
|
<function name="get_Kr_Kb"
|
|
c:identifier="gst_video_color_matrix_get_Kr_Kb"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Get the coefficients used to convert between Y'PbPr and R'G'B' using @matrix.
|
|
|
|
When:
|
|
|
|
|[
|
|
0.0 <= [Y',R',G',B'] <= 1.0)
|
|
(-0.5 <= [Pb,Pr] <= 0.5)
|
|
]|
|
|
|
|
the general conversion is given by:
|
|
|
|
|[
|
|
Y' = Kr*R' + (1-Kr-Kb)*G' + Kb*B'
|
|
Pb = (B'-Y')/(2*(1-Kb))
|
|
Pr = (R'-Y')/(2*(1-Kr))
|
|
]|
|
|
|
|
and the other way around:
|
|
|
|
|[
|
|
R' = Y' + Cr*2*(1-Kr)
|
|
G' = Y' - Cb*2*(1-Kb)*Kb/(1-Kr-Kb) - Cr*2*(1-Kr)*Kr/(1-Kr-Kb)
|
|
B' = Y' + Cb*2*(1-Kb)
|
|
]|</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if @matrix was a YUV color format and @Kr and @Kb contain valid
|
|
values.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="matrix" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorMatrix</doc>
|
|
<type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
|
|
</parameter>
|
|
<parameter name="Kr"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">result red channel coefficient</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="Kb"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">result blue channel coefficient</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<enumeration name="VideoColorPrimaries"
|
|
glib:type-name="GstVideoColorPrimaries"
|
|
glib:get-type="gst_video_color_primaries_get_type"
|
|
c:type="GstVideoColorPrimaries">
|
|
<doc xml:space="preserve">The color primaries define the how to transform linear RGB values to and from
|
|
the CIE XYZ colorspace.</doc>
|
|
<member name="unknown"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_COLOR_PRIMARIES_UNKNOWN"
|
|
glib:nick="unknown">
|
|
<doc xml:space="preserve">unknown color primaries</doc>
|
|
</member>
|
|
<member name="bt709"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_COLOR_PRIMARIES_BT709"
|
|
glib:nick="bt709">
|
|
<doc xml:space="preserve">BT709 primaries</doc>
|
|
</member>
|
|
<member name="bt470m"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_COLOR_PRIMARIES_BT470M"
|
|
glib:nick="bt470m">
|
|
<doc xml:space="preserve">BT470M primaries</doc>
|
|
</member>
|
|
<member name="bt470bg"
|
|
value="3"
|
|
c:identifier="GST_VIDEO_COLOR_PRIMARIES_BT470BG"
|
|
glib:nick="bt470bg">
|
|
<doc xml:space="preserve">BT470BG primaries</doc>
|
|
</member>
|
|
<member name="smpte170m"
|
|
value="4"
|
|
c:identifier="GST_VIDEO_COLOR_PRIMARIES_SMPTE170M"
|
|
glib:nick="smpte170m">
|
|
<doc xml:space="preserve">SMPTE170M primaries</doc>
|
|
</member>
|
|
<member name="smpte240m"
|
|
value="5"
|
|
c:identifier="GST_VIDEO_COLOR_PRIMARIES_SMPTE240M"
|
|
glib:nick="smpte240m">
|
|
<doc xml:space="preserve">SMPTE240M primaries</doc>
|
|
</member>
|
|
<member name="film"
|
|
value="6"
|
|
c:identifier="GST_VIDEO_COLOR_PRIMARIES_FILM"
|
|
glib:nick="film">
|
|
<doc xml:space="preserve">Generic film</doc>
|
|
</member>
|
|
<member name="bt2020"
|
|
value="7"
|
|
c:identifier="GST_VIDEO_COLOR_PRIMARIES_BT2020"
|
|
glib:nick="bt2020">
|
|
<doc xml:space="preserve">BT2020 primaries. Since: 1.6</doc>
|
|
</member>
|
|
<member name="adobergb"
|
|
value="8"
|
|
c:identifier="GST_VIDEO_COLOR_PRIMARIES_ADOBERGB"
|
|
glib:nick="adobergb">
|
|
<doc xml:space="preserve">Adobe RGB primaries. Since: 1.8</doc>
|
|
</member>
|
|
<function name="get_info"
|
|
c:identifier="gst_video_color_primaries_get_info"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Get information about the chromaticity coordinates of @primaries.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorPrimariesInfo for @primaries.</doc>
|
|
<type name="VideoColorPrimariesInfo"
|
|
c:type="const GstVideoColorPrimariesInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="primaries" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorPrimaries</doc>
|
|
<type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<record name="VideoColorPrimariesInfo"
|
|
c:type="GstVideoColorPrimariesInfo"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Structure describing the chromaticity coordinates of an RGB system. These
|
|
values can be used to construct a matrix to transform RGB to and from the
|
|
XYZ colorspace.</doc>
|
|
<field name="primaries" writable="1">
|
|
<doc xml:space="preserve">a #GstVideoColorPrimaries</doc>
|
|
<type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
|
|
</field>
|
|
<field name="Wx" writable="1">
|
|
<doc xml:space="preserve">reference white x coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="Wy" writable="1">
|
|
<doc xml:space="preserve">reference white y coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="Rx" writable="1">
|
|
<doc xml:space="preserve">red x coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="Ry" writable="1">
|
|
<doc xml:space="preserve">red y coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="Gx" writable="1">
|
|
<doc xml:space="preserve">green x coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="Gy" writable="1">
|
|
<doc xml:space="preserve">green y coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="Bx" writable="1">
|
|
<doc xml:space="preserve">blue x coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="By" writable="1">
|
|
<doc xml:space="preserve">blue y coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
</record>
|
|
<enumeration name="VideoColorRange"
|
|
glib:type-name="GstVideoColorRange"
|
|
glib:get-type="gst_video_color_range_get_type"
|
|
c:type="GstVideoColorRange">
|
|
<doc xml:space="preserve">Possible color range values. These constants are defined for 8 bit color
|
|
values and can be scaled for other bit depths.</doc>
|
|
<member name="unknown"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_COLOR_RANGE_UNKNOWN"
|
|
glib:nick="unknown">
|
|
<doc xml:space="preserve">unknown range</doc>
|
|
</member>
|
|
<member name="0_255"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_COLOR_RANGE_0_255"
|
|
glib:nick="0-255">
|
|
<doc xml:space="preserve">[0..255] for 8 bit components</doc>
|
|
</member>
|
|
<member name="16_235"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_COLOR_RANGE_16_235"
|
|
glib:nick="16-235">
|
|
<doc xml:space="preserve">[16..235] for 8 bit components. Chroma has
|
|
[16..240] range.</doc>
|
|
</member>
|
|
<function name="offsets" c:identifier="gst_video_color_range_offsets">
|
|
<doc xml:space="preserve">Compute the offset and scale values for each component of @info. For each
|
|
component, (c[i] - offset[i]) / scale[i] will scale the component c[i] to the
|
|
range [0.0 .. 1.0].
|
|
|
|
The reverse operation (c[i] * scale[i]) + offset[i] can be used to convert
|
|
the component values in range [0.0 .. 1.0] back to their representation in
|
|
@info and @range.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="range" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorRange</doc>
|
|
<type name="VideoColorRange" c:type="GstVideoColorRange"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormatInfo</doc>
|
|
<type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
|
|
</parameter>
|
|
<parameter name="offset"
|
|
direction="out"
|
|
caller-allocates="1"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">output offsets</doc>
|
|
<array zero-terminated="0" c:type="gint*" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="scale"
|
|
direction="out"
|
|
caller-allocates="1"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">output scale</doc>
|
|
<array zero-terminated="0" c:type="gint*" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<record name="VideoColorimetry" c:type="GstVideoColorimetry">
|
|
<doc xml:space="preserve">Structure describing the color info.</doc>
|
|
<field name="range" writable="1">
|
|
<doc xml:space="preserve">the color range. This is the valid range for the samples.
|
|
It is used to convert the samples to Y'PbPr values.</doc>
|
|
<type name="VideoColorRange" c:type="GstVideoColorRange"/>
|
|
</field>
|
|
<field name="matrix" writable="1">
|
|
<doc xml:space="preserve">the color matrix. Used to convert between Y'PbPr and
|
|
non-linear RGB (R'G'B')</doc>
|
|
<type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
|
|
</field>
|
|
<field name="transfer" writable="1">
|
|
<doc xml:space="preserve">the transfer function. used to convert between R'G'B' and RGB</doc>
|
|
<type name="VideoTransferFunction" c:type="GstVideoTransferFunction"/>
|
|
</field>
|
|
<field name="primaries" writable="1">
|
|
<doc xml:space="preserve">color primaries. used to convert between R'G'B' and CIE XYZ</doc>
|
|
<type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
|
|
</field>
|
|
<method name="from_string"
|
|
c:identifier="gst_video_colorimetry_from_string">
|
|
<doc xml:space="preserve">Parse the colorimetry string and update @cinfo with the parsed
|
|
values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @color points to valid colorimetry info.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="cinfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorimetry</doc>
|
|
<type name="VideoColorimetry" c:type="GstVideoColorimetry*"/>
|
|
</instance-parameter>
|
|
<parameter name="color" transfer-ownership="none">
|
|
<doc xml:space="preserve">a colorimetry string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_equal"
|
|
c:identifier="gst_video_colorimetry_is_equal"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Compare the 2 colorimetry sets for equality</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @cinfo and @other are equal.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="cinfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorimetry</doc>
|
|
<type name="VideoColorimetry" c:type="const GstVideoColorimetry*"/>
|
|
</instance-parameter>
|
|
<parameter name="other" transfer-ownership="none">
|
|
<doc xml:space="preserve">another #GstVideoColorimetry</doc>
|
|
<type name="VideoColorimetry" c:type="const GstVideoColorimetry*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="matches" c:identifier="gst_video_colorimetry_matches">
|
|
<doc xml:space="preserve">Check if the colorimetry information in @info matches that of the
|
|
string @color.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @color conveys the same colorimetry info as the color
|
|
information in @info.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="cinfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoColorimetry" c:type="const GstVideoColorimetry*"/>
|
|
</instance-parameter>
|
|
<parameter name="color" transfer-ownership="none">
|
|
<doc xml:space="preserve">a colorimetry string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string" c:identifier="gst_video_colorimetry_to_string">
|
|
<doc xml:space="preserve">Make a string representation of @cinfo.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a string representation of @cinfo.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="cinfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorimetry</doc>
|
|
<type name="VideoColorimetry" c:type="const GstVideoColorimetry*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<callback name="VideoConvertSampleCallback"
|
|
c:type="GstVideoConvertSampleCallback">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="sample" transfer-ownership="none">
|
|
<type name="Gst.Sample" c:type="GstSample*"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none">
|
|
<type name="GLib.Error" c:type="GError*"/>
|
|
</parameter>
|
|
<parameter name="user_data"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1"
|
|
closure="2">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="VideoConverter" c:type="GstVideoConverter" disguised="1">
|
|
<method name="frame"
|
|
c:identifier="gst_video_converter_frame"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Convert the pixels of @src into @dest using @convert.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="convert" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoConverter</doc>
|
|
<type name="VideoConverter" c:type="GstVideoConverter*"/>
|
|
</instance-parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="const GstVideoFrame*"/>
|
|
</parameter>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free"
|
|
c:identifier="gst_video_converter_free"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Free @convert</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="convert" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoConverter</doc>
|
|
<type name="VideoConverter" c:type="GstVideoConverter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_config" c:identifier="gst_video_converter_get_config">
|
|
<doc xml:space="preserve">Get the current configuration of @convert.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure that remains valid for as long as @convert is valid
|
|
or until gst_video_converter_set_config() is called.</doc>
|
|
<type name="Gst.Structure" c:type="const GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="convert" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoConverter</doc>
|
|
<type name="VideoConverter" c:type="GstVideoConverter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_config"
|
|
c:identifier="gst_video_converter_set_config"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Set @config as extra configuraion for @convert.
|
|
|
|
If the parameters in @config can not be set exactly, this function returns
|
|
%FALSE and will try to update as much state as possible. The new state can
|
|
then be retrieved and refined with gst_video_converter_get_config().
|
|
|
|
Look at the #GST_VIDEO_CONVERTER_OPT_* fields to check valid configuration
|
|
option and values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when @config could be set.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="convert" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoConverter</doc>
|
|
<type name="VideoConverter" c:type="GstVideoConverter*"/>
|
|
</instance-parameter>
|
|
<parameter name="config" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="new"
|
|
c:identifier="gst_video_converter_new"
|
|
version="1.6"
|
|
introspectable="0">
|
|
<doc xml:space="preserve">Create a new converter object to convert between @in_info and @out_info
|
|
with @config.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a #GstVideoConverter or %NULL if conversion is not possible.</doc>
|
|
<type name="VideoConverter" c:type="GstVideoConverter*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="in_info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="out_info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="config" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstStructure with configuration options</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<record name="VideoCropMeta" c:type="GstVideoCropMeta">
|
|
<doc xml:space="preserve">Extra buffer metadata describing image cropping.</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="x" writable="1">
|
|
<doc xml:space="preserve">the horizontal offset</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="y" writable="1">
|
|
<doc xml:space="preserve">the vertical offset</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="width" writable="1">
|
|
<doc xml:space="preserve">the cropped width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="height" writable="1">
|
|
<doc xml:space="preserve">the cropped height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<function name="get_info" c:identifier="gst_video_crop_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<class name="VideoDecoder"
|
|
c:symbol-prefix="video_decoder"
|
|
c:type="GstVideoDecoder"
|
|
parent="Gst.Element"
|
|
abstract="1"
|
|
glib:type-name="GstVideoDecoder"
|
|
glib:get-type="gst_video_decoder_get_type"
|
|
glib:type-struct="VideoDecoderClass">
|
|
<doc xml:space="preserve">This base class is for video decoders turning encoded data into raw video
|
|
frames.
|
|
|
|
The GstVideoDecoder base class and derived subclasses should cooperate as
|
|
follows:
|
|
|
|
## Configuration
|
|
|
|
* Initially, GstVideoDecoder calls @start when the decoder element
|
|
is activated, which allows the subclass to perform any global setup.
|
|
|
|
* GstVideoDecoder calls @set_format to inform the subclass of caps
|
|
describing input video data that it is about to receive, including
|
|
possibly configuration data.
|
|
While unlikely, it might be called more than once, if changing input
|
|
parameters require reconfiguration.
|
|
|
|
* Incoming data buffers are processed as needed, described in Data
|
|
Processing below.
|
|
|
|
* GstVideoDecoder calls @stop at end of all processing.
|
|
|
|
## Data processing
|
|
|
|
* The base class gathers input data, and optionally allows subclass
|
|
to parse this into subsequently manageable chunks, typically
|
|
corresponding to and referred to as 'frames'.
|
|
|
|
* Each input frame is provided in turn to the subclass' @handle_frame
|
|
callback.
|
|
The ownership of the frame is given to the @handle_frame callback.
|
|
|
|
* If codec processing results in decoded data, the subclass should call
|
|
@gst_video_decoder_finish_frame to have decoded data pushed.
|
|
downstream. Otherwise, the subclass must call
|
|
@gst_video_decoder_drop_frame, to allow the base class to do timestamp
|
|
and offset tracking, and possibly to requeue the frame for a later
|
|
attempt in the case of reverse playback.
|
|
|
|
## Shutdown phase
|
|
|
|
* The GstVideoDecoder class calls @stop to inform the subclass that data
|
|
parsing will be stopped.
|
|
|
|
## Additional Notes
|
|
|
|
* Seeking/Flushing
|
|
|
|
* When the pipeline is seeked or otherwise flushed, the subclass is
|
|
informed via a call to its @reset callback, with the hard parameter
|
|
set to true. This indicates the subclass should drop any internal data
|
|
queues and timestamps and prepare for a fresh set of buffers to arrive
|
|
for parsing and decoding.
|
|
|
|
* End Of Stream
|
|
|
|
* At end-of-stream, the subclass @parse function may be called some final
|
|
times with the at_eos parameter set to true, indicating that the element
|
|
should not expect any more data to be arriving, and it should parse and
|
|
remaining frames and call gst_video_decoder_have_frame() if possible.
|
|
|
|
The subclass is responsible for providing pad template caps for
|
|
source and sink pads. The pads need to be named "sink" and "src". It also
|
|
needs to provide information about the ouptput caps, when they are known.
|
|
This may be when the base class calls the subclass' @set_format function,
|
|
though it might be during decoding, before calling
|
|
@gst_video_decoder_finish_frame. This is done via
|
|
@gst_video_decoder_set_output_state
|
|
|
|
The subclass is also responsible for providing (presentation) timestamps
|
|
(likely based on corresponding input ones). If that is not applicable
|
|
or possible, the base class provides limited framerate based interpolation.
|
|
|
|
Similarly, the base class provides some limited (legacy) seeking support
|
|
if specifically requested by the subclass, as full-fledged support
|
|
should rather be left to upstream demuxer, parser or alike. This simple
|
|
approach caters for seeking and duration reporting using estimated input
|
|
bitrates. To enable it, a subclass should call
|
|
@gst_video_decoder_set_estimate_rate to enable handling of incoming
|
|
byte-streams.
|
|
|
|
The base class provides some support for reverse playback, in particular
|
|
in case incoming data is not packetized or upstream does not provide
|
|
fragments on keyframe boundaries. However, the subclass should then be
|
|
prepared for the parsing and frame processing stage to occur separately
|
|
(in normal forward processing, the latter immediately follows the former),
|
|
The subclass also needs to ensure the parsing stage properly marks
|
|
keyframes, unless it knows the upstream elements will do so properly for
|
|
incoming data.
|
|
|
|
The bare minimum that a functional subclass needs to implement is:
|
|
|
|
* Provide pad templates
|
|
* Inform the base class of output caps via
|
|
@gst_video_decoder_set_output_state
|
|
|
|
* Parse input data, if it is not considered packetized from upstream
|
|
Data will be provided to @parse which should invoke
|
|
@gst_video_decoder_add_to_frame and @gst_video_decoder_have_frame to
|
|
separate the data belonging to each video frame.
|
|
|
|
* Accept data in @handle_frame and provide decoded results to
|
|
@gst_video_decoder_finish_frame, or call @gst_video_decoder_drop_frame.</doc>
|
|
<virtual-method name="close">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="decide_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="drain">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="finish">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="flush">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="getcaps">
|
|
<return-value transfer-ownership="full">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="filter" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="handle_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="negotiate" invoker="negotiate">
|
|
<doc xml:space="preserve">Negotiate with downstream elements to currently configured #GstVideoCodecState.
|
|
Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
|
|
negotiate fails.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the negotiation succeeded, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="open">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="parse">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="adapter" transfer-ownership="none">
|
|
<type name="GstBase.Adapter" c:type="GstAdapter*"/>
|
|
</parameter>
|
|
<parameter name="at_eos" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="propose_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="reset">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="hard" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_format">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="state" transfer-ownership="none">
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="sink_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="sink_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="src_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="src_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="start">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="stop">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="transform_meta">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="Gst.Meta" c:type="GstMeta*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="add_to_frame"
|
|
c:identifier="gst_video_decoder_add_to_frame">
|
|
<doc xml:space="preserve">Removes next @n_bytes of input data and adds it to currently parsed frame.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="n_bytes" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of bytes to add</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="allocate_output_buffer"
|
|
c:identifier="gst_video_decoder_allocate_output_buffer">
|
|
<doc xml:space="preserve">Helper function that allocates a buffer to hold a video frame for @decoder's
|
|
current #GstVideoCodecState.
|
|
|
|
You should use gst_video_decoder_allocate_output_frame() instead of this
|
|
function, if possible at all.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">allocated buffer, or NULL if no buffer could be
|
|
allocated (e.g. when downstream is flushing or shutting down)</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="allocate_output_frame"
|
|
c:identifier="gst_video_decoder_allocate_output_frame">
|
|
<doc xml:space="preserve">Helper function that allocates a buffer to hold a video frame for @decoder's
|
|
current #GstVideoCodecState. Subclass should already have configured video
|
|
state and set src pad caps.
|
|
|
|
The buffer allocated here is owned by the frame and you should only
|
|
keep references to the frame, not the buffer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%GST_FLOW_OK if an output buffer could be allocated</doc>
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="allocate_output_frame_with_params"
|
|
c:identifier="gst_video_decoder_allocate_output_frame_with_params"
|
|
version="1.12">
|
|
<doc xml:space="preserve">Same as #gst_video_decoder_allocate_output_frame except it allows passing
|
|
#GstBufferPoolAcquireParams to the sub call gst_buffer_pool_acquire_buffer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%GST_FLOW_OK if an output buffer could be allocated</doc>
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPoolAcquireParams</doc>
|
|
<type name="Gst.BufferPoolAcquireParams"
|
|
c:type="GstBufferPoolAcquireParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="drop_frame" c:identifier="gst_video_decoder_drop_frame">
|
|
<doc xml:space="preserve">Similar to gst_video_decoder_finish_frame(), but drops @frame in any
|
|
case and posts a QoS message with the frame's details on the bus.
|
|
In any case, the frame is considered finished and released.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn, usually GST_FLOW_OK.</doc>
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstVideoCodecFrame to drop</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="finish_frame"
|
|
c:identifier="gst_video_decoder_finish_frame">
|
|
<doc xml:space="preserve">@frame should have a valid decoded data buffer, whose metadata fields
|
|
are then appropriately set according to frame data and pushed downstream.
|
|
If no output data is provided, @frame is considered skipped.
|
|
In any case, the frame is considered finished and released.
|
|
|
|
After calling this function the output buffer of the frame is to be
|
|
considered read-only. This function will also change the metadata
|
|
of the buffer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn resulting from sending data downstream</doc>
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="full">
|
|
<doc xml:space="preserve">a decoded #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_allocator"
|
|
c:identifier="gst_video_decoder_get_allocator">
|
|
<doc xml:space="preserve">Lets #GstVideoDecoder sub-classes to know the memory @allocator
|
|
used by the base class and its @params.
|
|
|
|
Unref the @allocator after use it.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="allocator"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">the #GstAllocator
|
|
used</doc>
|
|
<type name="Gst.Allocator" c:type="GstAllocator**"/>
|
|
</parameter>
|
|
<parameter name="params"
|
|
direction="out"
|
|
caller-allocates="1"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">the
|
|
#GstAllocatorParams of @allocator</doc>
|
|
<type name="Gst.AllocationParams" c:type="GstAllocationParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_buffer_pool"
|
|
c:identifier="gst_video_decoder_get_buffer_pool">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the instance of the #GstBufferPool used
|
|
by the decoder; free it after use it</doc>
|
|
<type name="Gst.BufferPool" c:type="GstBufferPool*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_estimate_rate"
|
|
c:identifier="gst_video_decoder_get_estimate_rate">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">currently configured byte to time conversion setting</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_frame" c:identifier="gst_video_decoder_get_frame">
|
|
<doc xml:space="preserve">Get a pending unfinished #GstVideoCodecFrame</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">pending unfinished #GstVideoCodecFrame identified by @frame_number.</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame_number" transfer-ownership="none">
|
|
<doc xml:space="preserve">system_frame_number of a frame</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_frames" c:identifier="gst_video_decoder_get_frames">
|
|
<doc xml:space="preserve">Get all pending unfinished #GstVideoCodecFrame</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">pending unfinished #GstVideoCodecFrame.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="VideoCodecFrame"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_latency" c:identifier="gst_video_decoder_get_latency">
|
|
<doc xml:space="preserve">Query the configured decoder latency. Results will be returned via
|
|
@min_latency and @max_latency.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="min_latency"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">address of variable in which to store the
|
|
configured minimum latency, or %NULL</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="max_latency"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">address of variable in which to store the
|
|
configured mximum latency, or %NULL</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_max_decode_time"
|
|
c:identifier="gst_video_decoder_get_max_decode_time">
|
|
<doc xml:space="preserve">Determines maximum possible decoding time for @frame that will
|
|
allow it to decode and arrive in time (as determined by QoS events).
|
|
In particular, a negative result means decoding in time is no longer possible
|
|
and should therefore occur as soon/skippy as possible.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">max decoding time.</doc>
|
|
<type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_max_errors"
|
|
c:identifier="gst_video_decoder_get_max_errors">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">currently configured decoder tolerated error count.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_needs_format"
|
|
c:identifier="gst_video_decoder_get_needs_format"
|
|
version="1.4">
|
|
<doc xml:space="preserve">Queries decoder required format handling.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if required format handling is enabled.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_oldest_frame"
|
|
c:identifier="gst_video_decoder_get_oldest_frame">
|
|
<doc xml:space="preserve">Get the oldest pending unfinished #GstVideoCodecFrame</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">oldest pending unfinished #GstVideoCodecFrame.</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_output_state"
|
|
c:identifier="gst_video_decoder_get_output_state">
|
|
<doc xml:space="preserve">Get the #GstVideoCodecState currently describing the output stream.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">#GstVideoCodecState describing format of video data.</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_packetized"
|
|
c:identifier="gst_video_decoder_get_packetized">
|
|
<doc xml:space="preserve">Queries whether input data is considered packetized or not by the
|
|
base class.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if input data is considered packetized.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pending_frame_size"
|
|
c:identifier="gst_video_decoder_get_pending_frame_size"
|
|
version="1.4">
|
|
<doc xml:space="preserve">Returns the number of bytes previously added to the current frame
|
|
by calling gst_video_decoder_add_to_frame().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The number of bytes pending for the current frame</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_qos_proportion"
|
|
c:identifier="gst_video_decoder_get_qos_proportion"
|
|
version="1.0.3">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The current QoS proportion.</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder
|
|
current QoS proportion, or %NULL</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="have_frame" c:identifier="gst_video_decoder_have_frame">
|
|
<doc xml:space="preserve">Gathers all data collected for currently parsed frame, gathers corresponding
|
|
metadata and passes it along for further processing, i.e. @handle_frame.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn</doc>
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="merge_tags" c:identifier="gst_video_decoder_merge_tags">
|
|
<doc xml:space="preserve">Sets the audio decoder tags and how they should be merged with any
|
|
upstream stream tags. This will override any tags previously-set
|
|
with gst_audio_decoder_merge_tags().
|
|
|
|
Note that this is provided for convenience, and the subclass is
|
|
not required to use this and can still do tag handling on its own.
|
|
|
|
MT safe.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="tags"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">a #GstTagList to merge, or NULL to unset
|
|
previously-set tags</doc>
|
|
<type name="Gst.TagList" c:type="const GstTagList*"/>
|
|
</parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE</doc>
|
|
<type name="Gst.TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="negotiate" c:identifier="gst_video_decoder_negotiate">
|
|
<doc xml:space="preserve">Negotiate with downstream elements to currently configured #GstVideoCodecState.
|
|
Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
|
|
negotiate fails.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the negotiation succeeded, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="proxy_getcaps"
|
|
c:identifier="gst_video_decoder_proxy_getcaps"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Returns caps that express @caps (or sink template caps if @caps == NULL)
|
|
restricted to resolution/format/... combinations supported by downstream
|
|
elements.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstCaps owned by caller</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">initial caps</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="filter"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">filter caps</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="release_frame"
|
|
c:identifier="gst_video_decoder_release_frame"
|
|
version="1.2.2">
|
|
<doc xml:space="preserve">Similar to gst_video_decoder_drop_frame(), but simply releases @frame
|
|
without any processing other than removing it from list of pending frames,
|
|
after which it is considered finished and released.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstVideoCodecFrame to release</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_estimate_rate"
|
|
c:identifier="gst_video_decoder_set_estimate_rate">
|
|
<doc xml:space="preserve">Allows baseclass to perform byte to time estimated conversion.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="enabled" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether to enable byte to time conversion</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_latency" c:identifier="gst_video_decoder_set_latency">
|
|
<doc xml:space="preserve">Lets #GstVideoDecoder sub-classes tell the baseclass what the decoder
|
|
latency is. Will also post a LATENCY message on the bus so the pipeline
|
|
can reconfigure its global latency.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="min_latency" transfer-ownership="none">
|
|
<doc xml:space="preserve">minimum latency</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="max_latency" transfer-ownership="none">
|
|
<doc xml:space="preserve">maximum latency</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_max_errors"
|
|
c:identifier="gst_video_decoder_set_max_errors">
|
|
<doc xml:space="preserve">Sets numbers of tolerated decoder errors, where a tolerated one is then only
|
|
warned about, but more than tolerated will lead to fatal error. You can set
|
|
-1 for never returning fatal errors. Default is set to
|
|
GST_VIDEO_DECODER_MAX_ERRORS.
|
|
|
|
The '-1' option was added in 1.4</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="num" transfer-ownership="none">
|
|
<doc xml:space="preserve">max tolerated errors</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_needs_format"
|
|
c:identifier="gst_video_decoder_set_needs_format"
|
|
version="1.4">
|
|
<doc xml:space="preserve">Configures decoder format needs. If enabled, subclass needs to be
|
|
negotiated with format caps before it can process any data. It will then
|
|
never be handed any data before it has been configured.
|
|
Otherwise, it might be handed data without having been configured and
|
|
is then expected being able to do so either by default
|
|
or based on the input data.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="enabled" transfer-ownership="none">
|
|
<doc xml:space="preserve">new state</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_output_state"
|
|
c:identifier="gst_video_decoder_set_output_state">
|
|
<doc xml:space="preserve">Creates a new #GstVideoCodecState with the specified @fmt, @width and @height
|
|
as the output state for the decoder.
|
|
Any previously set output state on @decoder will be replaced by the newly
|
|
created one.
|
|
|
|
If the subclass wishes to copy over existing fields (like pixel aspec ratio,
|
|
or framerate) from an existing #GstVideoCodecState, it can be provided as a
|
|
@reference.
|
|
|
|
If the subclass wishes to override some fields from the output state (like
|
|
pixel-aspect-ratio or framerate) it can do so on the returned #GstVideoCodecState.
|
|
|
|
The new output state will only take effect (set on pads and buffers) starting
|
|
from the next call to #gst_video_decoder_finish_frame().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly configured output state.</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="fmt" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">The width in pixels</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">The height in pixels</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="reference"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">An optional reference #GstVideoCodecState</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_packetized"
|
|
c:identifier="gst_video_decoder_set_packetized">
|
|
<doc xml:space="preserve">Allows baseclass to consider input data as packetized or not. If the
|
|
input is packetized, then the @parse method will not be called.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="packetized" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether the input data should be considered as packetized.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_use_default_pad_acceptcaps"
|
|
c:identifier="gst_video_decoder_set_use_default_pad_acceptcaps"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Lets #GstVideoDecoder sub-classes decide if they want the sink pad
|
|
to use the default pad query handler to reply to accept-caps queries.
|
|
|
|
By setting this to true it is possible to further customize the default
|
|
handler with %GST_PAD_SET_ACCEPT_INTERSECT and
|
|
%GST_PAD_SET_ACCEPT_TEMPLATE</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="use" transfer-ownership="none">
|
|
<doc xml:space="preserve">if the default pad accept-caps query handling should be used</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="element" readable="0" private="1">
|
|
<type name="Gst.Element" c:type="GstElement"/>
|
|
</field>
|
|
<field name="sinkpad" readable="0" private="1">
|
|
<type name="Gst.Pad" c:type="GstPad*"/>
|
|
</field>
|
|
<field name="srcpad" readable="0" private="1">
|
|
<type name="Gst.Pad" c:type="GstPad*"/>
|
|
</field>
|
|
<field name="stream_lock" readable="0" private="1">
|
|
<type name="GLib.RecMutex" c:type="GRecMutex"/>
|
|
</field>
|
|
<field name="input_segment" readable="0" private="1">
|
|
<type name="Gst.Segment" c:type="GstSegment"/>
|
|
</field>
|
|
<field name="output_segment" readable="0" private="1">
|
|
<type name="Gst.Segment" c:type="GstSegment"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="VideoDecoderPrivate" c:type="GstVideoDecoderPrivate*"/>
|
|
</field>
|
|
<field name="padding" readable="0" private="1">
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="20">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="VideoDecoderClass"
|
|
c:type="GstVideoDecoderClass"
|
|
glib:is-gtype-struct-for="VideoDecoder">
|
|
<doc xml:space="preserve">Subclasses can override any of the available virtual methods or not, as
|
|
needed. At minimum @handle_frame needs to be overridden, and @set_format
|
|
and likely as well. If non-packetized input is supported or expected,
|
|
@parse needs to be overridden as well.</doc>
|
|
<field name="element_class" readable="0" private="1">
|
|
<type name="Gst.ElementClass" c:type="GstElementClass"/>
|
|
</field>
|
|
<field name="open">
|
|
<callback name="open">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="close">
|
|
<callback name="close">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="start">
|
|
<callback name="start">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="stop">
|
|
<callback name="stop">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="parse">
|
|
<callback name="parse">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="adapter" transfer-ownership="none">
|
|
<type name="GstBase.Adapter" c:type="GstAdapter*"/>
|
|
</parameter>
|
|
<parameter name="at_eos" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_format">
|
|
<callback name="set_format">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="state" transfer-ownership="none">
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="reset">
|
|
<callback name="reset">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="hard" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="finish">
|
|
<callback name="finish">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="handle_frame">
|
|
<callback name="handle_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="sink_event">
|
|
<callback name="sink_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="src_event">
|
|
<callback name="src_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="negotiate">
|
|
<callback name="negotiate">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the negotiation succeeded, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="decide_allocation">
|
|
<callback name="decide_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="propose_allocation">
|
|
<callback name="propose_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="flush">
|
|
<callback name="flush">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="sink_query">
|
|
<callback name="sink_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="src_query">
|
|
<callback name="src_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="getcaps">
|
|
<callback name="getcaps">
|
|
<return-value transfer-ownership="full">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="filter" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="drain">
|
|
<callback name="drain">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="transform_meta">
|
|
<callback name="transform_meta">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="Gst.Meta" c:type="GstMeta*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="padding" readable="0" private="1">
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="14">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="VideoDecoderPrivate"
|
|
c:type="GstVideoDecoderPrivate"
|
|
disguised="1">
|
|
</record>
|
|
<interface name="VideoDirection"
|
|
c:symbol-prefix="video_direction"
|
|
c:type="GstVideoDirection"
|
|
version="1.10"
|
|
glib:type-name="GstVideoDirection"
|
|
glib:get-type="gst_video_direction_get_type"
|
|
glib:type-struct="VideoDirectionInterface">
|
|
<doc xml:space="preserve">The interface allows unified access to control flipping and rotation
|
|
operations of video-sources or operators.</doc>
|
|
<property name="video-direction"
|
|
writable="1"
|
|
construct="1"
|
|
transfer-ownership="none">
|
|
<type name="VideoOrientationMethod"/>
|
|
</property>
|
|
</interface>
|
|
<record name="VideoDirectionInterface"
|
|
c:type="GstVideoDirectionInterface"
|
|
glib:is-gtype-struct-for="VideoDirection"
|
|
version="1.10">
|
|
<doc xml:space="preserve">#GstVideoDirectionInterface interface.</doc>
|
|
<field name="iface">
|
|
<doc xml:space="preserve">parent interface type.</doc>
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
</record>
|
|
<record name="VideoDither" c:type="GstVideoDither" disguised="1">
|
|
<doc xml:space="preserve">GstVideoDither provides implementations of several dithering algorithms
|
|
that can be applied to lines of video pixels to quantize and dither them.</doc>
|
|
<method name="free" c:identifier="gst_video_dither_free">
|
|
<doc xml:space="preserve">Free @dither</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dither" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDither</doc>
|
|
<type name="VideoDither" c:type="GstVideoDither*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="line" c:identifier="gst_video_dither_line">
|
|
<doc xml:space="preserve">Dither @width pixels starting from offset @x in @line using @dither.
|
|
|
|
@y is the line number of @line in the output image.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dither" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDither</doc>
|
|
<type name="VideoDither" c:type="GstVideoDither*"/>
|
|
</instance-parameter>
|
|
<parameter name="line"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">pointer to the pixels of the line</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">x coordinate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">y coordinate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="new"
|
|
c:identifier="gst_video_dither_new"
|
|
introspectable="0">
|
|
<doc xml:space="preserve">Make a new dither object for dithering lines of @format using the
|
|
algorithm described by @method.
|
|
|
|
Each component will be quantized to a multiple of @quantizer. Better
|
|
performance is achived when @quantizer is a power of 2.
|
|
|
|
@width is the width of the lines that this ditherer will handle.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a new #GstVideoDither</doc>
|
|
<type name="VideoDither" c:type="GstVideoDither*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="method" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDitherMethod</doc>
|
|
<type name="VideoDitherMethod" c:type="GstVideoDitherMethod"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDitherFlags</doc>
|
|
<type name="VideoDitherFlags" c:type="GstVideoDitherFlags"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="quantizer" transfer-ownership="none">
|
|
<doc xml:space="preserve">quantizer</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width of the lines</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<bitfield name="VideoDitherFlags"
|
|
glib:type-name="GstVideoDitherFlags"
|
|
glib:get-type="gst_video_dither_flags_get_type"
|
|
c:type="GstVideoDitherFlags">
|
|
<doc xml:space="preserve">Extra flags that influence the result from gst_video_chroma_resample_new().</doc>
|
|
<member name="none"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_DITHER_FLAG_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="interlaced"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_DITHER_FLAG_INTERLACED"
|
|
glib:nick="interlaced">
|
|
<doc xml:space="preserve">the input is interlaced</doc>
|
|
</member>
|
|
<member name="quantize"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_DITHER_FLAG_QUANTIZE"
|
|
glib:nick="quantize">
|
|
<doc xml:space="preserve">quantize values in addition to adding dither.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="VideoDitherMethod"
|
|
glib:type-name="GstVideoDitherMethod"
|
|
glib:get-type="gst_video_dither_method_get_type"
|
|
c:type="GstVideoDitherMethod">
|
|
<doc xml:space="preserve">Different dithering methods to use.</doc>
|
|
<member name="none"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_DITHER_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">no dithering</doc>
|
|
</member>
|
|
<member name="verterr"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_DITHER_VERTERR"
|
|
glib:nick="verterr">
|
|
<doc xml:space="preserve">propagate rounding errors downwards</doc>
|
|
</member>
|
|
<member name="floyd_steinberg"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_DITHER_FLOYD_STEINBERG"
|
|
glib:nick="floyd-steinberg">
|
|
<doc xml:space="preserve">Dither with floyd-steinberg error diffusion</doc>
|
|
</member>
|
|
<member name="sierra_lite"
|
|
value="3"
|
|
c:identifier="GST_VIDEO_DITHER_SIERRA_LITE"
|
|
glib:nick="sierra-lite">
|
|
<doc xml:space="preserve">Dither with Sierra Lite error diffusion</doc>
|
|
</member>
|
|
<member name="bayer"
|
|
value="4"
|
|
c:identifier="GST_VIDEO_DITHER_BAYER"
|
|
glib:nick="bayer">
|
|
<doc xml:space="preserve">ordered dither using a bayer pattern</doc>
|
|
</member>
|
|
</enumeration>
|
|
<class name="VideoEncoder"
|
|
c:symbol-prefix="video_encoder"
|
|
c:type="GstVideoEncoder"
|
|
parent="Gst.Element"
|
|
abstract="1"
|
|
glib:type-name="GstVideoEncoder"
|
|
glib:get-type="gst_video_encoder_get_type"
|
|
glib:type-struct="VideoEncoderClass">
|
|
<doc xml:space="preserve">This base class is for video encoders turning raw video into
|
|
encoded video data.
|
|
|
|
GstVideoEncoder and subclass should cooperate as follows.
|
|
|
|
## Configuration
|
|
|
|
* Initially, GstVideoEncoder calls @start when the encoder element
|
|
is activated, which allows subclass to perform any global setup.
|
|
* GstVideoEncoder calls @set_format to inform subclass of the format
|
|
of input video data that it is about to receive. Subclass should
|
|
setup for encoding and configure base class as appropriate
|
|
(e.g. latency). While unlikely, it might be called more than once,
|
|
if changing input parameters require reconfiguration. Baseclass
|
|
will ensure that processing of current configuration is finished.
|
|
* GstVideoEncoder calls @stop at end of all processing.
|
|
|
|
## Data processing
|
|
|
|
* Base class collects input data and metadata into a frame and hands
|
|
this to subclass' @handle_frame.
|
|
|
|
* If codec processing results in encoded data, subclass should call
|
|
@gst_video_encoder_finish_frame to have encoded data pushed
|
|
downstream.
|
|
|
|
* If implemented, baseclass calls subclass @pre_push just prior to
|
|
pushing to allow subclasses to modify some metadata on the buffer.
|
|
If it returns GST_FLOW_OK, the buffer is pushed downstream.
|
|
|
|
* GstVideoEncoderClass will handle both srcpad and sinkpad events.
|
|
Sink events will be passed to subclass if @event callback has been
|
|
provided.
|
|
|
|
## Shutdown phase
|
|
|
|
* GstVideoEncoder class calls @stop to inform the subclass that data
|
|
parsing will be stopped.
|
|
|
|
Subclass is responsible for providing pad template caps for
|
|
source and sink pads. The pads need to be named "sink" and "src". It should
|
|
also be able to provide fixed src pad caps in @getcaps by the time it calls
|
|
@gst_video_encoder_finish_frame.
|
|
|
|
Things that subclass need to take care of:
|
|
|
|
* Provide pad templates
|
|
* Provide source pad caps before pushing the first buffer
|
|
* Accept data in @handle_frame and provide encoded results to
|
|
@gst_video_encoder_finish_frame.
|
|
|
|
|
|
The #GstVideoEncoder:qos property will enable the Quality-of-Service
|
|
features of the encoder which gather statistics about the real-time
|
|
performance of the downstream elements. If enabled, subclasses can
|
|
use gst_video_encoder_get_max_encode_time() to check if input frames
|
|
are already late and drop them right away to give a chance to the
|
|
pipeline to catch up.</doc>
|
|
<implements name="Gst.Preset"/>
|
|
<virtual-method name="close">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="decide_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="finish">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="flush">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="getcaps">
|
|
<return-value transfer-ownership="full">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="enc" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="filter" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="handle_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="negotiate" invoker="negotiate">
|
|
<doc xml:space="preserve">Negotiate with downstream elements to currently configured #GstVideoCodecState.
|
|
Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
|
|
negotiate fails.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the negotiation succeeded, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="open">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="pre_push">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="propose_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="reset">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="hard" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_format">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="state" transfer-ownership="none">
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="sink_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="sink_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="src_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="src_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="start">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="stop">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="transform_meta">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="Gst.Meta" c:type="GstMeta*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="allocate_output_buffer"
|
|
c:identifier="gst_video_encoder_allocate_output_buffer">
|
|
<doc xml:space="preserve">Helper function that allocates a buffer to hold an encoded video frame
|
|
for @encoder's current #GstVideoCodecState.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">allocated buffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">size of the buffer</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="allocate_output_frame"
|
|
c:identifier="gst_video_encoder_allocate_output_frame">
|
|
<doc xml:space="preserve">Helper function that allocates a buffer to hold an encoded video frame for @encoder's
|
|
current #GstVideoCodecState. Subclass should already have configured video
|
|
state and set src pad caps.
|
|
|
|
The buffer allocated here is owned by the frame and you should only
|
|
keep references to the frame, not the buffer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%GST_FLOW_OK if an output buffer could be allocated</doc>
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">size of the buffer</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="finish_frame"
|
|
c:identifier="gst_video_encoder_finish_frame">
|
|
<doc xml:space="preserve">@frame must have a valid encoded data buffer, whose metadata fields
|
|
are then appropriately set according to frame data or no buffer at
|
|
all if the frame should be dropped.
|
|
It is subsequently pushed downstream or provided to @pre_push.
|
|
In any case, the frame is considered finished and released.
|
|
|
|
After calling this function the output buffer of the frame is to be
|
|
considered read-only. This function will also change the metadata
|
|
of the buffer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn resulting from sending data downstream</doc>
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="full">
|
|
<doc xml:space="preserve">an encoded #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_allocator"
|
|
c:identifier="gst_video_encoder_get_allocator">
|
|
<doc xml:space="preserve">Lets #GstVideoEncoder sub-classes to know the memory @allocator
|
|
used by the base class and its @params.
|
|
|
|
Unref the @allocator after use it.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="allocator"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">the #GstAllocator
|
|
used</doc>
|
|
<type name="Gst.Allocator" c:type="GstAllocator**"/>
|
|
</parameter>
|
|
<parameter name="params"
|
|
direction="out"
|
|
caller-allocates="1"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">the
|
|
#GstAllocatorParams of @allocator</doc>
|
|
<type name="Gst.AllocationParams" c:type="GstAllocationParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_frame" c:identifier="gst_video_encoder_get_frame">
|
|
<doc xml:space="preserve">Get a pending unfinished #GstVideoCodecFrame</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">pending unfinished #GstVideoCodecFrame identified by @frame_number.</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEnccoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame_number" transfer-ownership="none">
|
|
<doc xml:space="preserve">system_frame_number of a frame</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_frames" c:identifier="gst_video_encoder_get_frames">
|
|
<doc xml:space="preserve">Get all pending unfinished #GstVideoCodecFrame</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">pending unfinished #GstVideoCodecFrame.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="VideoCodecFrame"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_latency" c:identifier="gst_video_encoder_get_latency">
|
|
<doc xml:space="preserve">Query the configured encoding latency. Results will be returned via
|
|
@min_latency and @max_latency.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="min_latency"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">address of variable in which to store the
|
|
configured minimum latency, or %NULL</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="max_latency"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">address of variable in which to store the
|
|
configured maximum latency, or %NULL</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_max_encode_time"
|
|
c:identifier="gst_video_encoder_get_max_encode_time"
|
|
version="1.14">
|
|
<doc xml:space="preserve">Determines maximum possible encoding time for @frame that will
|
|
allow it to encode and arrive in time (as determined by QoS events).
|
|
In particular, a negative result means encoding in time is no longer possible
|
|
and should therefore occur as soon/skippy as possible.
|
|
|
|
If no QoS events have been received from downstream, or if
|
|
#GstVideoEncoder:qos is disabled this function returns #G_MAXINT64.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">max decoding time.</doc>
|
|
<type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_oldest_frame"
|
|
c:identifier="gst_video_encoder_get_oldest_frame">
|
|
<doc xml:space="preserve">Get the oldest unfinished pending #GstVideoCodecFrame</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">oldest unfinished pending #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_output_state"
|
|
c:identifier="gst_video_encoder_get_output_state">
|
|
<doc xml:space="preserve">Get the current #GstVideoCodecState</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">#GstVideoCodecState describing format of video data.</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_qos_enabled"
|
|
c:identifier="gst_video_encoder_is_qos_enabled"
|
|
version="1.14">
|
|
<doc xml:space="preserve">Checks if @encoder is currently configured to handle Quality-of-Service
|
|
events from downstream.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the encoder is configured to perform Quality-of-Service.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">the encoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="merge_tags" c:identifier="gst_video_encoder_merge_tags">
|
|
<doc xml:space="preserve">Sets the video encoder tags and how they should be merged with any
|
|
upstream stream tags. This will override any tags previously-set
|
|
with gst_video_encoder_merge_tags().
|
|
|
|
Note that this is provided for convenience, and the subclass is
|
|
not required to use this and can still do tag handling on its own.
|
|
|
|
MT safe.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="tags"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">a #GstTagList to merge, or NULL to unset
|
|
previously-set tags</doc>
|
|
<type name="Gst.TagList" c:type="const GstTagList*"/>
|
|
</parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE</doc>
|
|
<type name="Gst.TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="negotiate" c:identifier="gst_video_encoder_negotiate">
|
|
<doc xml:space="preserve">Negotiate with downstream elements to currently configured #GstVideoCodecState.
|
|
Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
|
|
negotiate fails.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the negotiation succeeded, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="proxy_getcaps"
|
|
c:identifier="gst_video_encoder_proxy_getcaps">
|
|
<doc xml:space="preserve">Returns caps that express @caps (or sink template caps if @caps == NULL)
|
|
restricted to resolution/format/... combinations supported by downstream
|
|
elements (e.g. muxers).</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstCaps owned by caller</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="enc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">initial caps</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="filter"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">filter caps</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_headers" c:identifier="gst_video_encoder_set_headers">
|
|
<doc xml:space="preserve">Set the codec headers to be sent downstream whenever requested.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="headers" transfer-ownership="full">
|
|
<doc xml:space="preserve">a list of #GstBuffer containing the codec header</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Gst.Buffer"/>
|
|
</type>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_latency" c:identifier="gst_video_encoder_set_latency">
|
|
<doc xml:space="preserve">Informs baseclass of encoding latency.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="min_latency" transfer-ownership="none">
|
|
<doc xml:space="preserve">minimum latency</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="max_latency" transfer-ownership="none">
|
|
<doc xml:space="preserve">maximum latency</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_min_pts" c:identifier="gst_video_encoder_set_min_pts">
|
|
<doc xml:space="preserve">Request minimal value for PTS passed to handle_frame.
|
|
|
|
For streams with reordered frames this can be used to ensure that there
|
|
is enough time to accomodate first DTS, which may be less than first PTS
|
|
|
|
Since 1.6</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="min_pts" transfer-ownership="none">
|
|
<doc xml:space="preserve">minimal PTS that will be passed to handle_frame</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_output_state"
|
|
c:identifier="gst_video_encoder_set_output_state">
|
|
<doc xml:space="preserve">Creates a new #GstVideoCodecState with the specified caps as the output state
|
|
for the encoder.
|
|
Any previously set output state on @encoder will be replaced by the newly
|
|
created one.
|
|
|
|
The specified @caps should not contain any resolution, pixel-aspect-ratio,
|
|
framerate, codec-data, .... Those should be specified instead in the returned
|
|
#GstVideoCodecState.
|
|
|
|
If the subclass wishes to copy over existing fields (like pixel aspect ratio,
|
|
or framerate) from an existing #GstVideoCodecState, it can be provided as a
|
|
@reference.
|
|
|
|
If the subclass wishes to override some fields from the output state (like
|
|
pixel-aspect-ratio or framerate) it can do so on the returned #GstVideoCodecState.
|
|
|
|
The new output state will only take effect (set on pads and buffers) starting
|
|
from the next call to #gst_video_encoder_finish_frame().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly configured output state.</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstCaps to use for the output</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="reference"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">An optional reference @GstVideoCodecState</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_qos_enabled"
|
|
c:identifier="gst_video_encoder_set_qos_enabled"
|
|
version="1.14">
|
|
<doc xml:space="preserve">Configures @encoder to handle Quality-of-Service events from downstream.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">the encoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="enabled" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new qos value.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="qos" writable="1" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<field name="element" readable="0" private="1">
|
|
<type name="Gst.Element" c:type="GstElement"/>
|
|
</field>
|
|
<field name="sinkpad" readable="0" private="1">
|
|
<type name="Gst.Pad" c:type="GstPad*"/>
|
|
</field>
|
|
<field name="srcpad" readable="0" private="1">
|
|
<type name="Gst.Pad" c:type="GstPad*"/>
|
|
</field>
|
|
<field name="stream_lock" readable="0" private="1">
|
|
<type name="GLib.RecMutex" c:type="GRecMutex"/>
|
|
</field>
|
|
<field name="input_segment" readable="0" private="1">
|
|
<type name="Gst.Segment" c:type="GstSegment"/>
|
|
</field>
|
|
<field name="output_segment" readable="0" private="1">
|
|
<type name="Gst.Segment" c:type="GstSegment"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="VideoEncoderPrivate" c:type="GstVideoEncoderPrivate*"/>
|
|
</field>
|
|
<field name="padding" readable="0" private="1">
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="20">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="VideoEncoderClass"
|
|
c:type="GstVideoEncoderClass"
|
|
glib:is-gtype-struct-for="VideoEncoder">
|
|
<doc xml:space="preserve">Subclasses can override any of the available virtual methods or not, as
|
|
needed. At minimum @handle_frame needs to be overridden, and @set_format
|
|
and @get_caps are likely needed as well.</doc>
|
|
<field name="element_class" readable="0" private="1">
|
|
<type name="Gst.ElementClass" c:type="GstElementClass"/>
|
|
</field>
|
|
<field name="open">
|
|
<callback name="open">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="close">
|
|
<callback name="close">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="start">
|
|
<callback name="start">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="stop">
|
|
<callback name="stop">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_format">
|
|
<callback name="set_format">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="state" transfer-ownership="none">
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="handle_frame">
|
|
<callback name="handle_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="reset">
|
|
<callback name="reset">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="hard" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="finish">
|
|
<callback name="finish">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="pre_push">
|
|
<callback name="pre_push">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="getcaps">
|
|
<callback name="getcaps">
|
|
<return-value transfer-ownership="full">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="enc" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="filter" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="sink_event">
|
|
<callback name="sink_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="src_event">
|
|
<callback name="src_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="negotiate">
|
|
<callback name="negotiate">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the negotiation succeeded, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="decide_allocation">
|
|
<callback name="decide_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="propose_allocation">
|
|
<callback name="propose_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="flush">
|
|
<callback name="flush">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="sink_query">
|
|
<callback name="sink_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="src_query">
|
|
<callback name="src_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="transform_meta">
|
|
<callback name="transform_meta">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="Gst.Meta" c:type="GstMeta*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="16">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="VideoEncoderPrivate"
|
|
c:type="GstVideoEncoderPrivate"
|
|
disguised="1">
|
|
</record>
|
|
<enumeration name="VideoFieldOrder"
|
|
version="1.12"
|
|
glib:type-name="GstVideoFieldOrder"
|
|
glib:get-type="gst_video_field_order_get_type"
|
|
c:type="GstVideoFieldOrder">
|
|
<doc xml:space="preserve">Field order of interlaced content. This is only valid for
|
|
interlace-mode=interleaved and not interlace-mode=mixed. In the case of
|
|
mixed or GST_VIDEO_FIELD_ORDER_UNKOWN, the field order is signalled via
|
|
buffer flags.</doc>
|
|
<member name="unknown"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_FIELD_ORDER_UNKNOWN"
|
|
glib:nick="unknown">
|
|
<doc xml:space="preserve">unknown field order for interlaced content.
|
|
The actual field order is signalled via buffer flags.</doc>
|
|
</member>
|
|
<member name="top_field_first"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_FIELD_ORDER_TOP_FIELD_FIRST"
|
|
glib:nick="top-field-first">
|
|
<doc xml:space="preserve">top field is first</doc>
|
|
</member>
|
|
<member name="bottom_field_first"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_FIELD_ORDER_BOTTOM_FIELD_FIRST"
|
|
glib:nick="bottom-field-first">
|
|
<doc xml:space="preserve">bottom field is first</doc>
|
|
</member>
|
|
<function name="from_string"
|
|
c:identifier="gst_video_field_order_from_string"
|
|
version="1.12">
|
|
<doc xml:space="preserve">Convert @order to a #GstVideoFieldOrder</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFieldOrder of @order or
|
|
#GST_VIDEO_FIELD_ORDER_UNKNOWN when @order is not a valid
|
|
string representation for a #GstVideoFieldOrder.</doc>
|
|
<type name="VideoFieldOrder" c:type="GstVideoFieldOrder"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="order" transfer-ownership="none">
|
|
<doc xml:space="preserve">a field order</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_string"
|
|
c:identifier="gst_video_field_order_to_string"
|
|
version="1.12">
|
|
<doc xml:space="preserve">Convert @order to its string representation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@order as a string or NULL if @order in invalid.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="order" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFieldOrder</doc>
|
|
<type name="VideoFieldOrder" c:type="GstVideoFieldOrder"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<class name="VideoFilter"
|
|
c:symbol-prefix="video_filter"
|
|
c:type="GstVideoFilter"
|
|
parent="GstBase.BaseTransform"
|
|
abstract="1"
|
|
glib:type-name="GstVideoFilter"
|
|
glib:get-type="gst_video_filter_get_type"
|
|
glib:type-struct="VideoFilterClass">
|
|
<doc xml:space="preserve">Provides useful functions and a base class for video filters.
|
|
|
|
The videofilter will by default enable QoS on the parent GstBaseTransform
|
|
to implement frame dropping.</doc>
|
|
<virtual-method name="set_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="filter" transfer-ownership="none">
|
|
<type name="VideoFilter" c:type="GstVideoFilter*"/>
|
|
</instance-parameter>
|
|
<parameter name="incaps" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="in_info" transfer-ownership="none">
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="outcaps" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="out_info" transfer-ownership="none">
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="transform_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="filter" transfer-ownership="none">
|
|
<type name="VideoFilter" c:type="GstVideoFilter*"/>
|
|
</instance-parameter>
|
|
<parameter name="inframe" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
<parameter name="outframe" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="transform_frame_ip">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="trans" transfer-ownership="none">
|
|
<type name="VideoFilter" c:type="GstVideoFilter*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<field name="element">
|
|
<type name="GstBase.BaseTransform" c:type="GstBaseTransform"/>
|
|
</field>
|
|
<field name="negotiated">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</field>
|
|
<field name="in_info">
|
|
<type name="VideoInfo" c:type="GstVideoInfo"/>
|
|
</field>
|
|
<field name="out_info">
|
|
<type name="VideoInfo" c:type="GstVideoInfo"/>
|
|
</field>
|
|
<field name="_gst_reserved" 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="VideoFilterClass"
|
|
c:type="GstVideoFilterClass"
|
|
glib:is-gtype-struct-for="VideoFilter">
|
|
<doc xml:space="preserve">The video filter class structure.</doc>
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">the parent class structure</doc>
|
|
<type name="GstBase.BaseTransformClass"
|
|
c:type="GstBaseTransformClass"/>
|
|
</field>
|
|
<field name="set_info">
|
|
<callback name="set_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="filter" transfer-ownership="none">
|
|
<type name="VideoFilter" c:type="GstVideoFilter*"/>
|
|
</parameter>
|
|
<parameter name="incaps" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="in_info" transfer-ownership="none">
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="outcaps" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="out_info" transfer-ownership="none">
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="transform_frame">
|
|
<callback name="transform_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="filter" transfer-ownership="none">
|
|
<type name="VideoFilter" c:type="GstVideoFilter*"/>
|
|
</parameter>
|
|
<parameter name="inframe" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
<parameter name="outframe" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="transform_frame_ip">
|
|
<callback name="transform_frame_ip">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="trans" transfer-ownership="none">
|
|
<type name="VideoFilter" c:type="GstVideoFilter*"/>
|
|
</parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<bitfield name="VideoFlags"
|
|
glib:type-name="GstVideoFlags"
|
|
glib:get-type="gst_video_flags_get_type"
|
|
c:type="GstVideoFlags">
|
|
<doc xml:space="preserve">Extra video flags</doc>
|
|
<member name="none"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_FLAG_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="variable_fps"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_FLAG_VARIABLE_FPS"
|
|
glib:nick="variable-fps">
|
|
<doc xml:space="preserve">a variable fps is selected, fps_n and fps_d
|
|
denote the maximum fps of the video</doc>
|
|
</member>
|
|
<member name="premultiplied_alpha"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA"
|
|
glib:nick="premultiplied-alpha">
|
|
<doc xml:space="preserve">Each color has been scaled by the alpha
|
|
value.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="VideoFormat"
|
|
glib:type-name="GstVideoFormat"
|
|
glib:get-type="gst_video_format_get_type"
|
|
c:type="GstVideoFormat">
|
|
<doc xml:space="preserve">Enum value describing the most common video formats.</doc>
|
|
<member name="unknown"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_FORMAT_UNKNOWN"
|
|
glib:nick="unknown">
|
|
<doc xml:space="preserve">Unknown or unset video format id</doc>
|
|
</member>
|
|
<member name="encoded"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_FORMAT_ENCODED"
|
|
glib:nick="encoded">
|
|
<doc xml:space="preserve">Encoded video format. Only ever use that in caps for
|
|
special video formats in combination with non-system
|
|
memory GstCapsFeatures where it does not make sense
|
|
to specify a real video format.</doc>
|
|
</member>
|
|
<member name="i420"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_FORMAT_I420"
|
|
glib:nick="i420">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV</doc>
|
|
</member>
|
|
<member name="yv12"
|
|
value="3"
|
|
c:identifier="GST_VIDEO_FORMAT_YV12"
|
|
glib:nick="yv12">
|
|
<doc xml:space="preserve">planar 4:2:0 YVU (like I420 but UV planes swapped)</doc>
|
|
</member>
|
|
<member name="yuy2"
|
|
value="4"
|
|
c:identifier="GST_VIDEO_FORMAT_YUY2"
|
|
glib:nick="yuy2">
|
|
<doc xml:space="preserve">packed 4:2:2 YUV (Y0-U0-Y1-V0 Y2-U2-Y3-V2 Y4 ...)</doc>
|
|
</member>
|
|
<member name="uyvy"
|
|
value="5"
|
|
c:identifier="GST_VIDEO_FORMAT_UYVY"
|
|
glib:nick="uyvy">
|
|
<doc xml:space="preserve">packed 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...)</doc>
|
|
</member>
|
|
<member name="ayuv"
|
|
value="6"
|
|
c:identifier="GST_VIDEO_FORMAT_AYUV"
|
|
glib:nick="ayuv">
|
|
<doc xml:space="preserve">packed 4:4:4 YUV with alpha channel (A0-Y0-U0-V0 ...)</doc>
|
|
</member>
|
|
<member name="rgbx"
|
|
value="7"
|
|
c:identifier="GST_VIDEO_FORMAT_RGBx"
|
|
glib:nick="rgbx">
|
|
<doc xml:space="preserve">sparse rgb packed into 32 bit, space last</doc>
|
|
</member>
|
|
<member name="bgrx"
|
|
value="8"
|
|
c:identifier="GST_VIDEO_FORMAT_BGRx"
|
|
glib:nick="bgrx">
|
|
<doc xml:space="preserve">sparse reverse rgb packed into 32 bit, space last</doc>
|
|
</member>
|
|
<member name="xrgb"
|
|
value="9"
|
|
c:identifier="GST_VIDEO_FORMAT_xRGB"
|
|
glib:nick="xrgb">
|
|
<doc xml:space="preserve">sparse rgb packed into 32 bit, space first</doc>
|
|
</member>
|
|
<member name="xbgr"
|
|
value="10"
|
|
c:identifier="GST_VIDEO_FORMAT_xBGR"
|
|
glib:nick="xbgr">
|
|
<doc xml:space="preserve">sparse reverse rgb packed into 32 bit, space first</doc>
|
|
</member>
|
|
<member name="rgba"
|
|
value="11"
|
|
c:identifier="GST_VIDEO_FORMAT_RGBA"
|
|
glib:nick="rgba">
|
|
<doc xml:space="preserve">rgb with alpha channel last</doc>
|
|
</member>
|
|
<member name="bgra"
|
|
value="12"
|
|
c:identifier="GST_VIDEO_FORMAT_BGRA"
|
|
glib:nick="bgra">
|
|
<doc xml:space="preserve">reverse rgb with alpha channel last</doc>
|
|
</member>
|
|
<member name="argb"
|
|
value="13"
|
|
c:identifier="GST_VIDEO_FORMAT_ARGB"
|
|
glib:nick="argb">
|
|
<doc xml:space="preserve">rgb with alpha channel first</doc>
|
|
</member>
|
|
<member name="abgr"
|
|
value="14"
|
|
c:identifier="GST_VIDEO_FORMAT_ABGR"
|
|
glib:nick="abgr">
|
|
<doc xml:space="preserve">reverse rgb with alpha channel first</doc>
|
|
</member>
|
|
<member name="rgb"
|
|
value="15"
|
|
c:identifier="GST_VIDEO_FORMAT_RGB"
|
|
glib:nick="rgb">
|
|
<doc xml:space="preserve">rgb</doc>
|
|
</member>
|
|
<member name="bgr"
|
|
value="16"
|
|
c:identifier="GST_VIDEO_FORMAT_BGR"
|
|
glib:nick="bgr">
|
|
<doc xml:space="preserve">reverse rgb</doc>
|
|
</member>
|
|
<member name="y41b"
|
|
value="17"
|
|
c:identifier="GST_VIDEO_FORMAT_Y41B"
|
|
glib:nick="y41b">
|
|
<doc xml:space="preserve">planar 4:1:1 YUV</doc>
|
|
</member>
|
|
<member name="y42b"
|
|
value="18"
|
|
c:identifier="GST_VIDEO_FORMAT_Y42B"
|
|
glib:nick="y42b">
|
|
<doc xml:space="preserve">planar 4:2:2 YUV</doc>
|
|
</member>
|
|
<member name="yvyu"
|
|
value="19"
|
|
c:identifier="GST_VIDEO_FORMAT_YVYU"
|
|
glib:nick="yvyu">
|
|
<doc xml:space="preserve">packed 4:2:2 YUV (Y0-V0-Y1-U0 Y2-V2-Y3-U2 Y4 ...)</doc>
|
|
</member>
|
|
<member name="y444"
|
|
value="20"
|
|
c:identifier="GST_VIDEO_FORMAT_Y444"
|
|
glib:nick="y444">
|
|
<doc xml:space="preserve">planar 4:4:4 YUV</doc>
|
|
</member>
|
|
<member name="v210"
|
|
value="21"
|
|
c:identifier="GST_VIDEO_FORMAT_v210"
|
|
glib:nick="v210">
|
|
<doc xml:space="preserve">packed 4:2:2 10-bit YUV, complex format</doc>
|
|
</member>
|
|
<member name="v216"
|
|
value="22"
|
|
c:identifier="GST_VIDEO_FORMAT_v216"
|
|
glib:nick="v216">
|
|
<doc xml:space="preserve">packed 4:2:2 16-bit YUV, Y0-U0-Y1-V1 order</doc>
|
|
</member>
|
|
<member name="nv12"
|
|
value="23"
|
|
c:identifier="GST_VIDEO_FORMAT_NV12"
|
|
glib:nick="nv12">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV with interleaved UV plane</doc>
|
|
</member>
|
|
<member name="nv21"
|
|
value="24"
|
|
c:identifier="GST_VIDEO_FORMAT_NV21"
|
|
glib:nick="nv21">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV with interleaved VU plane</doc>
|
|
</member>
|
|
<member name="gray8"
|
|
value="25"
|
|
c:identifier="GST_VIDEO_FORMAT_GRAY8"
|
|
glib:nick="gray8">
|
|
<doc xml:space="preserve">8-bit grayscale</doc>
|
|
</member>
|
|
<member name="gray16_be"
|
|
value="26"
|
|
c:identifier="GST_VIDEO_FORMAT_GRAY16_BE"
|
|
glib:nick="gray16-be">
|
|
<doc xml:space="preserve">16-bit grayscale, most significant byte first</doc>
|
|
</member>
|
|
<member name="gray16_le"
|
|
value="27"
|
|
c:identifier="GST_VIDEO_FORMAT_GRAY16_LE"
|
|
glib:nick="gray16-le">
|
|
<doc xml:space="preserve">16-bit grayscale, least significant byte first</doc>
|
|
</member>
|
|
<member name="v308"
|
|
value="28"
|
|
c:identifier="GST_VIDEO_FORMAT_v308"
|
|
glib:nick="v308">
|
|
<doc xml:space="preserve">packed 4:4:4 YUV (Y-U-V ...)</doc>
|
|
</member>
|
|
<member name="rgb16"
|
|
value="29"
|
|
c:identifier="GST_VIDEO_FORMAT_RGB16"
|
|
glib:nick="rgb16">
|
|
<doc xml:space="preserve">rgb 5-6-5 bits per component</doc>
|
|
</member>
|
|
<member name="bgr16"
|
|
value="30"
|
|
c:identifier="GST_VIDEO_FORMAT_BGR16"
|
|
glib:nick="bgr16">
|
|
<doc xml:space="preserve">reverse rgb 5-6-5 bits per component</doc>
|
|
</member>
|
|
<member name="rgb15"
|
|
value="31"
|
|
c:identifier="GST_VIDEO_FORMAT_RGB15"
|
|
glib:nick="rgb15">
|
|
<doc xml:space="preserve">rgb 5-5-5 bits per component</doc>
|
|
</member>
|
|
<member name="bgr15"
|
|
value="32"
|
|
c:identifier="GST_VIDEO_FORMAT_BGR15"
|
|
glib:nick="bgr15">
|
|
<doc xml:space="preserve">reverse rgb 5-5-5 bits per component</doc>
|
|
</member>
|
|
<member name="uyvp"
|
|
value="33"
|
|
c:identifier="GST_VIDEO_FORMAT_UYVP"
|
|
glib:nick="uyvp">
|
|
<doc xml:space="preserve">packed 10-bit 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...)</doc>
|
|
</member>
|
|
<member name="a420"
|
|
value="34"
|
|
c:identifier="GST_VIDEO_FORMAT_A420"
|
|
glib:nick="a420">
|
|
<doc xml:space="preserve">planar 4:4:2:0 AYUV</doc>
|
|
</member>
|
|
<member name="rgb8p"
|
|
value="35"
|
|
c:identifier="GST_VIDEO_FORMAT_RGB8P"
|
|
glib:nick="rgb8p">
|
|
<doc xml:space="preserve">8-bit paletted RGB</doc>
|
|
</member>
|
|
<member name="yuv9"
|
|
value="36"
|
|
c:identifier="GST_VIDEO_FORMAT_YUV9"
|
|
glib:nick="yuv9">
|
|
<doc xml:space="preserve">planar 4:1:0 YUV</doc>
|
|
</member>
|
|
<member name="yvu9"
|
|
value="37"
|
|
c:identifier="GST_VIDEO_FORMAT_YVU9"
|
|
glib:nick="yvu9">
|
|
<doc xml:space="preserve">planar 4:1:0 YUV (like YUV9 but UV planes swapped)</doc>
|
|
</member>
|
|
<member name="iyu1"
|
|
value="38"
|
|
c:identifier="GST_VIDEO_FORMAT_IYU1"
|
|
glib:nick="iyu1">
|
|
<doc xml:space="preserve">packed 4:1:1 YUV (Cb-Y0-Y1-Cr-Y2-Y3 ...)</doc>
|
|
</member>
|
|
<member name="argb64"
|
|
value="39"
|
|
c:identifier="GST_VIDEO_FORMAT_ARGB64"
|
|
glib:nick="argb64">
|
|
<doc xml:space="preserve">rgb with alpha channel first, 16 bits per channel</doc>
|
|
</member>
|
|
<member name="ayuv64"
|
|
value="40"
|
|
c:identifier="GST_VIDEO_FORMAT_AYUV64"
|
|
glib:nick="ayuv64">
|
|
<doc xml:space="preserve">packed 4:4:4 YUV with alpha channel, 16 bits per channel (A0-Y0-U0-V0 ...)</doc>
|
|
</member>
|
|
<member name="r210"
|
|
value="41"
|
|
c:identifier="GST_VIDEO_FORMAT_r210"
|
|
glib:nick="r210">
|
|
<doc xml:space="preserve">packed 4:4:4 RGB, 10 bits per channel</doc>
|
|
</member>
|
|
<member name="i420_10be"
|
|
value="42"
|
|
c:identifier="GST_VIDEO_FORMAT_I420_10BE"
|
|
glib:nick="i420-10be">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV, 10 bits per channel</doc>
|
|
</member>
|
|
<member name="i420_10le"
|
|
value="43"
|
|
c:identifier="GST_VIDEO_FORMAT_I420_10LE"
|
|
glib:nick="i420-10le">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV, 10 bits per channel</doc>
|
|
</member>
|
|
<member name="i422_10be"
|
|
value="44"
|
|
c:identifier="GST_VIDEO_FORMAT_I422_10BE"
|
|
glib:nick="i422-10be">
|
|
<doc xml:space="preserve">planar 4:2:2 YUV, 10 bits per channel</doc>
|
|
</member>
|
|
<member name="i422_10le"
|
|
value="45"
|
|
c:identifier="GST_VIDEO_FORMAT_I422_10LE"
|
|
glib:nick="i422-10le">
|
|
<doc xml:space="preserve">planar 4:2:2 YUV, 10 bits per channel</doc>
|
|
</member>
|
|
<member name="y444_10be"
|
|
value="46"
|
|
c:identifier="GST_VIDEO_FORMAT_Y444_10BE"
|
|
glib:nick="y444-10be">
|
|
<doc xml:space="preserve">planar 4:4:4 YUV, 10 bits per channel (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="y444_10le"
|
|
value="47"
|
|
c:identifier="GST_VIDEO_FORMAT_Y444_10LE"
|
|
glib:nick="y444-10le">
|
|
<doc xml:space="preserve">planar 4:4:4 YUV, 10 bits per channel (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="gbr"
|
|
value="48"
|
|
c:identifier="GST_VIDEO_FORMAT_GBR"
|
|
glib:nick="gbr">
|
|
<doc xml:space="preserve">planar 4:4:4 RGB, 8 bits per channel (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="gbr_10be"
|
|
value="49"
|
|
c:identifier="GST_VIDEO_FORMAT_GBR_10BE"
|
|
glib:nick="gbr-10be">
|
|
<doc xml:space="preserve">planar 4:4:4 RGB, 10 bits per channel (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="gbr_10le"
|
|
value="50"
|
|
c:identifier="GST_VIDEO_FORMAT_GBR_10LE"
|
|
glib:nick="gbr-10le">
|
|
<doc xml:space="preserve">planar 4:4:4 RGB, 10 bits per channel (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="nv16"
|
|
value="51"
|
|
c:identifier="GST_VIDEO_FORMAT_NV16"
|
|
glib:nick="nv16">
|
|
<doc xml:space="preserve">planar 4:2:2 YUV with interleaved UV plane (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="nv24"
|
|
value="52"
|
|
c:identifier="GST_VIDEO_FORMAT_NV24"
|
|
glib:nick="nv24">
|
|
<doc xml:space="preserve">planar 4:4:4 YUV with interleaved UV plane (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="nv12_64z32"
|
|
value="53"
|
|
c:identifier="GST_VIDEO_FORMAT_NV12_64Z32"
|
|
glib:nick="nv12-64z32">
|
|
<doc xml:space="preserve">NV12 with 64x32 tiling in zigzag pattern (Since: 1.4)</doc>
|
|
</member>
|
|
<member name="a420_10be"
|
|
value="54"
|
|
c:identifier="GST_VIDEO_FORMAT_A420_10BE"
|
|
glib:nick="a420-10be">
|
|
<doc xml:space="preserve">planar 4:4:2:0 YUV, 10 bits per channel (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="a420_10le"
|
|
value="55"
|
|
c:identifier="GST_VIDEO_FORMAT_A420_10LE"
|
|
glib:nick="a420-10le">
|
|
<doc xml:space="preserve">planar 4:4:2:0 YUV, 10 bits per channel (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="a422_10be"
|
|
value="56"
|
|
c:identifier="GST_VIDEO_FORMAT_A422_10BE"
|
|
glib:nick="a422-10be">
|
|
<doc xml:space="preserve">planar 4:4:2:2 YUV, 10 bits per channel (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="a422_10le"
|
|
value="57"
|
|
c:identifier="GST_VIDEO_FORMAT_A422_10LE"
|
|
glib:nick="a422-10le">
|
|
<doc xml:space="preserve">planar 4:4:2:2 YUV, 10 bits per channel (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="a444_10be"
|
|
value="58"
|
|
c:identifier="GST_VIDEO_FORMAT_A444_10BE"
|
|
glib:nick="a444-10be">
|
|
<doc xml:space="preserve">planar 4:4:4:4 YUV, 10 bits per channel (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="a444_10le"
|
|
value="59"
|
|
c:identifier="GST_VIDEO_FORMAT_A444_10LE"
|
|
glib:nick="a444-10le">
|
|
<doc xml:space="preserve">planar 4:4:4:4 YUV, 10 bits per channel (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="nv61"
|
|
value="60"
|
|
c:identifier="GST_VIDEO_FORMAT_NV61"
|
|
glib:nick="nv61">
|
|
<doc xml:space="preserve">planar 4:2:2 YUV with interleaved VU plane (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="p010_10be"
|
|
value="61"
|
|
c:identifier="GST_VIDEO_FORMAT_P010_10BE"
|
|
glib:nick="p010-10be">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV with interleaved UV plane, 10 bits per channel (Since: 1.10)</doc>
|
|
</member>
|
|
<member name="p010_10le"
|
|
value="62"
|
|
c:identifier="GST_VIDEO_FORMAT_P010_10LE"
|
|
glib:nick="p010-10le">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV with interleaved UV plane, 10 bits per channel (Since: 1.10)</doc>
|
|
</member>
|
|
<member name="iyu2"
|
|
value="63"
|
|
c:identifier="GST_VIDEO_FORMAT_IYU2"
|
|
glib:nick="iyu2">
|
|
<doc xml:space="preserve">packed 4:4:4 YUV (U-Y-V ...) (Since 1.10)</doc>
|
|
</member>
|
|
<member name="vyuy"
|
|
value="64"
|
|
c:identifier="GST_VIDEO_FORMAT_VYUY"
|
|
glib:nick="vyuy">
|
|
<doc xml:space="preserve">packed 4:2:2 YUV (V0-Y0-U0-Y1 V2-Y2-U2-Y3 V4 ...)</doc>
|
|
</member>
|
|
<member name="gbra"
|
|
value="65"
|
|
c:identifier="GST_VIDEO_FORMAT_GBRA"
|
|
glib:nick="gbra">
|
|
<doc xml:space="preserve">planar 4:4:4:4 ARGB, 8 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="gbra_10be"
|
|
value="66"
|
|
c:identifier="GST_VIDEO_FORMAT_GBRA_10BE"
|
|
glib:nick="gbra-10be">
|
|
<doc xml:space="preserve">planar 4:4:4:4 ARGB, 10 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="gbra_10le"
|
|
value="67"
|
|
c:identifier="GST_VIDEO_FORMAT_GBRA_10LE"
|
|
glib:nick="gbra-10le">
|
|
<doc xml:space="preserve">planar 4:4:4:4 ARGB, 10 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="gbr_12be"
|
|
value="68"
|
|
c:identifier="GST_VIDEO_FORMAT_GBR_12BE"
|
|
glib:nick="gbr-12be">
|
|
<doc xml:space="preserve">planar 4:4:4 RGB, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="gbr_12le"
|
|
value="69"
|
|
c:identifier="GST_VIDEO_FORMAT_GBR_12LE"
|
|
glib:nick="gbr-12le">
|
|
<doc xml:space="preserve">planar 4:4:4 RGB, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="gbra_12be"
|
|
value="70"
|
|
c:identifier="GST_VIDEO_FORMAT_GBRA_12BE"
|
|
glib:nick="gbra-12be">
|
|
<doc xml:space="preserve">planar 4:4:4:4 ARGB, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="gbra_12le"
|
|
value="71"
|
|
c:identifier="GST_VIDEO_FORMAT_GBRA_12LE"
|
|
glib:nick="gbra-12le">
|
|
<doc xml:space="preserve">planar 4:4:4:4 ARGB, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="i420_12be"
|
|
value="72"
|
|
c:identifier="GST_VIDEO_FORMAT_I420_12BE"
|
|
glib:nick="i420-12be">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="i420_12le"
|
|
value="73"
|
|
c:identifier="GST_VIDEO_FORMAT_I420_12LE"
|
|
glib:nick="i420-12le">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="i422_12be"
|
|
value="74"
|
|
c:identifier="GST_VIDEO_FORMAT_I422_12BE"
|
|
glib:nick="i422-12be">
|
|
<doc xml:space="preserve">planar 4:2:2 YUV, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="i422_12le"
|
|
value="75"
|
|
c:identifier="GST_VIDEO_FORMAT_I422_12LE"
|
|
glib:nick="i422-12le">
|
|
<doc xml:space="preserve">planar 4:2:2 YUV, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="y444_12be"
|
|
value="76"
|
|
c:identifier="GST_VIDEO_FORMAT_Y444_12BE"
|
|
glib:nick="y444-12be">
|
|
<doc xml:space="preserve">planar 4:4:4 YUV, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="y444_12le"
|
|
value="77"
|
|
c:identifier="GST_VIDEO_FORMAT_Y444_12LE"
|
|
glib:nick="y444-12le">
|
|
<doc xml:space="preserve">planar 4:4:4 YUV, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="gray10_le32"
|
|
value="78"
|
|
c:identifier="GST_VIDEO_FORMAT_GRAY10_LE32"
|
|
glib:nick="gray10-le32">
|
|
<doc xml:space="preserve">10-bit grayscale, packed into 32bit words (2 bits padding) (Since: 1.14)</doc>
|
|
</member>
|
|
<member name="nv12_10le32"
|
|
value="79"
|
|
c:identifier="GST_VIDEO_FORMAT_NV12_10LE32"
|
|
glib:nick="nv12-10le32">
|
|
<doc xml:space="preserve">10-bit variant of @GST_VIDEO_FORMAT_NV12, packed into 32bit words (MSB 2 bits padding) (Since: 1.14)</doc>
|
|
</member>
|
|
<member name="nv16_10le32"
|
|
value="80"
|
|
c:identifier="GST_VIDEO_FORMAT_NV16_10LE32"
|
|
glib:nick="nv16-10le32">
|
|
<doc xml:space="preserve">10-bit variant of @GST_VIDEO_FORMAT_NV16, packed into 32bit words (MSB 2 bits padding) (Since: 1.14)</doc>
|
|
</member>
|
|
<function name="from_fourcc" c:identifier="gst_video_format_from_fourcc">
|
|
<doc xml:space="preserve">Converts a FOURCC value into the corresponding #GstVideoFormat.
|
|
If the FOURCC cannot be represented by #GstVideoFormat,
|
|
#GST_VIDEO_FORMAT_UNKNOWN is returned.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFormat describing the FOURCC value</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fourcc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a FOURCC value representing raw YUV video</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="from_masks" c:identifier="gst_video_format_from_masks">
|
|
<doc xml:space="preserve">Find the #GstVideoFormat for the given parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat or GST_VIDEO_FORMAT_UNKNOWN when the parameters to
|
|
not specify a known format.</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="depth" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of bits used for a pixel</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="bpp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of bits used to store a pixel. This value is bigger than
|
|
@depth</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="endianness" transfer-ownership="none">
|
|
<doc xml:space="preserve">the endianness of the masks, #G_LITTLE_ENDIAN or #G_BIG_ENDIAN</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="red_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the red mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="green_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the green mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="blue_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the blue mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="alpha_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the alpha mask, or 0 if no alpha mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="from_string" c:identifier="gst_video_format_from_string">
|
|
<doc xml:space="preserve">Convert the @format string to its #GstVideoFormat.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFormat for @format or GST_VIDEO_FORMAT_UNKNOWN when the
|
|
string is not a known format.</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a format string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_info" c:identifier="gst_video_format_get_info">
|
|
<doc xml:space="preserve">Get the #GstVideoFormatInfo for @format</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstVideoFormatInfo for @format.</doc>
|
|
<type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_palette"
|
|
c:identifier="gst_video_format_get_palette"
|
|
version="1.2">
|
|
<doc xml:space="preserve">Get the default palette of @format. This the palette used in the pack
|
|
function for paletted formats.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the default palette of @format or %NULL when
|
|
@format does not have a palette.</doc>
|
|
<type name="gpointer" c:type="gconstpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="size"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">size of the palette in bytes</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_fourcc" c:identifier="gst_video_format_to_fourcc">
|
|
<doc xml:space="preserve">Converts a #GstVideoFormat value into the corresponding FOURCC. Only
|
|
a few YUV formats have corresponding FOURCC values. If @format has
|
|
no corresponding FOURCC value, 0 is returned.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the FOURCC corresponding to @format</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat video format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_string" c:identifier="gst_video_format_to_string">
|
|
<doc xml:space="preserve">Returns a string containing a descriptive name for
|
|
the #GstVideoFormat if there is one, or NULL otherwise.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the name corresponding to @format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat video format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<bitfield name="VideoFormatFlags"
|
|
glib:type-name="GstVideoFormatFlags"
|
|
glib:get-type="gst_video_format_flags_get_type"
|
|
c:type="GstVideoFormatFlags">
|
|
<doc xml:space="preserve">The different video flags that a format info can have.</doc>
|
|
<member name="yuv"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_FORMAT_FLAG_YUV"
|
|
glib:nick="yuv">
|
|
<doc xml:space="preserve">The video format is YUV, components are numbered
|
|
0=Y, 1=U, 2=V.</doc>
|
|
</member>
|
|
<member name="rgb"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_FORMAT_FLAG_RGB"
|
|
glib:nick="rgb">
|
|
<doc xml:space="preserve">The video format is RGB, components are numbered
|
|
0=R, 1=G, 2=B.</doc>
|
|
</member>
|
|
<member name="gray"
|
|
value="4"
|
|
c:identifier="GST_VIDEO_FORMAT_FLAG_GRAY"
|
|
glib:nick="gray">
|
|
<doc xml:space="preserve">The video is gray, there is one gray component
|
|
with index 0.</doc>
|
|
</member>
|
|
<member name="alpha"
|
|
value="8"
|
|
c:identifier="GST_VIDEO_FORMAT_FLAG_ALPHA"
|
|
glib:nick="alpha">
|
|
<doc xml:space="preserve">The video format has an alpha components with
|
|
the number 3.</doc>
|
|
</member>
|
|
<member name="le"
|
|
value="16"
|
|
c:identifier="GST_VIDEO_FORMAT_FLAG_LE"
|
|
glib:nick="le">
|
|
<doc xml:space="preserve">The video format has data stored in little
|
|
endianness.</doc>
|
|
</member>
|
|
<member name="palette"
|
|
value="32"
|
|
c:identifier="GST_VIDEO_FORMAT_FLAG_PALETTE"
|
|
glib:nick="palette">
|
|
<doc xml:space="preserve">The video format has a palette. The palette
|
|
is stored in the second plane and indexes are stored in the first plane.</doc>
|
|
</member>
|
|
<member name="complex"
|
|
value="64"
|
|
c:identifier="GST_VIDEO_FORMAT_FLAG_COMPLEX"
|
|
glib:nick="complex">
|
|
<doc xml:space="preserve">The video format has a complex layout that
|
|
can't be described with the usual information in the #GstVideoFormatInfo.</doc>
|
|
</member>
|
|
<member name="unpack"
|
|
value="128"
|
|
c:identifier="GST_VIDEO_FORMAT_FLAG_UNPACK"
|
|
glib:nick="unpack">
|
|
<doc xml:space="preserve">This format can be used in a
|
|
#GstVideoFormatUnpack and #GstVideoFormatPack function.</doc>
|
|
</member>
|
|
<member name="tiled"
|
|
value="256"
|
|
c:identifier="GST_VIDEO_FORMAT_FLAG_TILED"
|
|
glib:nick="tiled">
|
|
<doc xml:space="preserve">The format is tiled, there is tiling information
|
|
in the last plane.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="VideoFormatInfo" c:type="GstVideoFormatInfo">
|
|
<doc xml:space="preserve">Information for a video format.</doc>
|
|
<field name="format" writable="1">
|
|
<doc xml:space="preserve">#GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</field>
|
|
<field name="name" writable="1">
|
|
<doc xml:space="preserve">string representation of the format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="description" writable="1">
|
|
<doc xml:space="preserve">use readable description of the format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">#GstVideoFormatFlags</doc>
|
|
<type name="VideoFormatFlags" c:type="GstVideoFormatFlags"/>
|
|
</field>
|
|
<field name="bits" writable="1">
|
|
<doc xml:space="preserve">The number of bits used to pack data items. This can be less than 8
|
|
when multiple pixels are stored in a byte. for values > 8 multiple bytes
|
|
should be read according to the endianness flag before applying the shift
|
|
and mask.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="n_components" writable="1">
|
|
<doc xml:space="preserve">the number of components in the video format.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="shift" writable="1">
|
|
<doc xml:space="preserve">the number of bits to shift away to get the component data</doc>
|
|
<array zero-terminated="0" c:type="guint" fixed-size="4">
|
|
<type name="guint" c:type="guint"/>
|
|
</array>
|
|
</field>
|
|
<field name="depth" writable="1">
|
|
<doc xml:space="preserve">the depth in bits for each component</doc>
|
|
<array zero-terminated="0" c:type="guint" fixed-size="4">
|
|
<type name="guint" c:type="guint"/>
|
|
</array>
|
|
</field>
|
|
<field name="pixel_stride" writable="1">
|
|
<doc xml:space="preserve">the pixel stride of each component. This is the amount of
|
|
bytes to the pixel immediately to the right. When bits < 8, the stride is
|
|
expressed in bits. For 24-bit RGB, this would be 3 bytes, for example,
|
|
while it would be 4 bytes for RGBx or ARGB.</doc>
|
|
<array zero-terminated="0" c:type="gint" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</field>
|
|
<field name="n_planes" writable="1">
|
|
<doc xml:space="preserve">the number of planes for this format. The number of planes can be
|
|
less than the amount of components when multiple components are packed into
|
|
one plane.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="plane" writable="1">
|
|
<doc xml:space="preserve">the plane number where a component can be found</doc>
|
|
<array zero-terminated="0" c:type="guint" fixed-size="4">
|
|
<type name="guint" c:type="guint"/>
|
|
</array>
|
|
</field>
|
|
<field name="poffset" writable="1">
|
|
<doc xml:space="preserve">the offset in the plane where the first pixel of the components
|
|
can be found.</doc>
|
|
<array zero-terminated="0" c:type="guint" fixed-size="4">
|
|
<type name="guint" c:type="guint"/>
|
|
</array>
|
|
</field>
|
|
<field name="w_sub" writable="1">
|
|
<doc xml:space="preserve">subsampling factor of the width for the component. Use
|
|
GST_VIDEO_SUB_SCALE to scale a width.</doc>
|
|
<array zero-terminated="0" c:type="guint" fixed-size="4">
|
|
<type name="guint" c:type="guint"/>
|
|
</array>
|
|
</field>
|
|
<field name="h_sub" writable="1">
|
|
<doc xml:space="preserve">subsampling factor of the height for the component. Use
|
|
GST_VIDEO_SUB_SCALE to scale a height.</doc>
|
|
<array zero-terminated="0" c:type="guint" fixed-size="4">
|
|
<type name="guint" c:type="guint"/>
|
|
</array>
|
|
</field>
|
|
<field name="unpack_format" writable="1">
|
|
<doc xml:space="preserve">the format of the unpacked pixels. This format must have the
|
|
#GST_VIDEO_FORMAT_FLAG_UNPACK flag set.</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</field>
|
|
<field name="unpack_func" writable="1">
|
|
<doc xml:space="preserve">an unpack function for this format</doc>
|
|
<type name="VideoFormatUnpack" c:type="GstVideoFormatUnpack"/>
|
|
</field>
|
|
<field name="pack_lines" writable="1">
|
|
<doc xml:space="preserve">the amount of lines that will be packed</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="pack_func" writable="1">
|
|
<doc xml:space="preserve">an pack function for this format</doc>
|
|
<type name="VideoFormatPack" c:type="GstVideoFormatPack"/>
|
|
</field>
|
|
<field name="tile_mode" writable="1">
|
|
<doc xml:space="preserve">The tiling mode</doc>
|
|
<type name="VideoTileMode" c:type="GstVideoTileMode"/>
|
|
</field>
|
|
<field name="tile_ws" writable="1">
|
|
<doc xml:space="preserve">The width of a tile, in bytes, represented as a shift</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="tile_hs" writable="1">
|
|
<doc xml:space="preserve">The height of a tile, in bytes, represented as a shift</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<callback name="VideoFormatPack" c:type="GstVideoFormatPack">
|
|
<doc xml:space="preserve">Packs @width pixels from @src to the given planes and strides in the
|
|
format @info. The pixels from source have each component interleaved
|
|
and will be packed into the planes in @data.
|
|
|
|
This function operates on pack_lines lines, meaning that @src should
|
|
contain at least pack_lines lines with a stride of @sstride and @y
|
|
should be a multiple of pack_lines.
|
|
|
|
Subsampled formats will use the horizontally and vertically cosited
|
|
component from the source. Subsampling should be performed before
|
|
packing.
|
|
|
|
Because this function does not have a x coordinate, it is not possible to
|
|
pack pixels starting from an unaligned position. For tiled images this
|
|
means that packing should start from a tile coordinate. For subsampled
|
|
formats this means that a complete pixel needs to be packed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormatInfo</doc>
|
|
<type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags to control the packing</doc>
|
|
<type name="VideoPackFlags" c:type="GstVideoPackFlags"/>
|
|
</parameter>
|
|
<parameter name="src"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">a source array</doc>
|
|
<type name="gpointer" c:type="const gpointer"/>
|
|
</parameter>
|
|
<parameter name="sstride" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source array stride</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="data"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">pointers to the destination data planes</doc>
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
<parameter name="stride" transfer-ownership="none">
|
|
<doc xml:space="preserve">strides of the destination planes</doc>
|
|
<type name="gint" c:type="const gint*"/>
|
|
</parameter>
|
|
<parameter name="chroma_site" transfer-ownership="none">
|
|
<doc xml:space="preserve">the chroma siting of the target when subsampled (not used)</doc>
|
|
<type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the y position in the image to pack to</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of pixels to pack.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="VideoFormatUnpack" c:type="GstVideoFormatUnpack">
|
|
<doc xml:space="preserve">Unpacks @width pixels from the given planes and strides containing data of
|
|
format @info. The pixels will be unpacked into @dest with each component
|
|
interleaved as per @info's unpack_format, which will usually be one of
|
|
#GST_VIDEO_FORMAT_ARGB, #GST_VIDEO_FORMAT_AYUV, #GST_VIDEO_FORMAT_ARGB64 or
|
|
#GST_VIDEO_FORMAT_AYUV64 depending on the format to unpack.
|
|
@dest should at least be big enough to hold @width * bytes_per_pixel bytes
|
|
where bytes_per_pixel relates to the unpack format and will usually be
|
|
either 4 or 8 depending on the unpack format. bytes_per_pixel will be
|
|
the same as the pixel stride for plane 0 for the above formats.
|
|
|
|
For subsampled formats, the components will be duplicated in the destination
|
|
array. Reconstruction of the missing components can be performed in a
|
|
separate step after unpacking.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormatInfo</doc>
|
|
<type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags to control the unpacking</doc>
|
|
<type name="VideoPackFlags" c:type="GstVideoPackFlags"/>
|
|
</parameter>
|
|
<parameter name="dest"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">a destination array</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="data"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">pointers to the data planes</doc>
|
|
<type name="gpointer" c:type="const gpointer*"/>
|
|
</parameter>
|
|
<parameter name="stride" transfer-ownership="none">
|
|
<doc xml:space="preserve">strides of the planes</doc>
|
|
<type name="gint" c:type="const gint*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the x position in the image to start from</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the y position in the image to start from</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of pixels to unpack.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="VideoFrame" c:type="GstVideoFrame">
|
|
<doc xml:space="preserve">A video frame obtained from gst_video_frame_map()</doc>
|
|
<field name="info" writable="1">
|
|
<doc xml:space="preserve">the #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo"/>
|
|
</field>
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">#GstVideoFrameFlags for the frame</doc>
|
|
<type name="VideoFrameFlags" c:type="GstVideoFrameFlags"/>
|
|
</field>
|
|
<field name="buffer" writable="1">
|
|
<doc xml:space="preserve">the mapped buffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</field>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">pointer to metadata if any</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="id" writable="1">
|
|
<doc xml:space="preserve">id of the mapped frame. the id can for example be used to
|
|
indentify the frame in case of multiview video.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="data" writable="1">
|
|
<doc xml:space="preserve">pointers to the plane data</doc>
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<field name="map" writable="1">
|
|
<doc xml:space="preserve">mappings of the planes</doc>
|
|
<array zero-terminated="0" c:type="GstMapInfo" fixed-size="4">
|
|
<type name="Gst.MapInfo" c:type="GstMapInfo"/>
|
|
</array>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<method name="copy" c:identifier="gst_video_frame_copy">
|
|
<doc xml:space="preserve">Copy the contents from @src to @dest.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the contents could be copied.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</instance-parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="const GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy_plane" c:identifier="gst_video_frame_copy_plane">
|
|
<doc xml:space="preserve">Copy the plane with index @plane from @src to @dest.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the contents could be copied.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</instance-parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="const GstVideoFrame*"/>
|
|
</parameter>
|
|
<parameter name="plane" transfer-ownership="none">
|
|
<doc xml:space="preserve">a plane</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="map" c:identifier="gst_video_frame_map">
|
|
<doc xml:space="preserve">Use @info and @buffer to fill in the values of @frame. @frame is usually
|
|
allocated on the stack, and you will pass the address to the #GstVideoFrame
|
|
structure allocated on the stack; gst_video_frame_map() will then fill in
|
|
the structures with the various video-specific information you need to access
|
|
the pixels of the video buffer. You can then use accessor macros such as
|
|
GST_VIDEO_FRAME_COMP_DATA(), GST_VIDEO_FRAME_PLANE_DATA(),
|
|
GST_VIDEO_FRAME_COMP_STRIDE(), GST_VIDEO_FRAME_PLANE_STRIDE() etc.
|
|
to get to the pixels.
|
|
|
|
|[<!-- language="C" -->
|
|
GstVideoFrame vframe;
|
|
...
|
|
// set RGB pixels to black one at a time
|
|
if (gst_video_frame_map (&amp;vframe, video_info, video_buffer, GST_MAP_WRITE)) {
|
|
guint8 *pixels = GST_VIDEO_FRAME_PLANE_DATA (vframe, 0);
|
|
guint stride = GST_VIDEO_FRAME_PLANE_STRIDE (vframe, 0);
|
|
guint pixel_stride = GST_VIDEO_FRAME_COMP_PSTRIDE (vframe, 0);
|
|
|
|
for (h = 0; h < height; ++h) {
|
|
for (w = 0; w < width; ++w) {
|
|
guint8 *pixel = pixels + h * stride + w * pixel_stride;
|
|
|
|
memset (pixel, 0, pixel_stride);
|
|
}
|
|
}
|
|
|
|
gst_video_frame_unmap (&amp;vframe);
|
|
}
|
|
...
|
|
]|
|
|
|
|
All video planes of @buffer will be mapped and the pointers will be set in
|
|
@frame->data.
|
|
|
|
The purpose of this function is to make it easy for you to get to the video
|
|
pixels in a generic way, without you having to worry too much about details
|
|
such as whether the video data is allocated in one contiguous memory chunk
|
|
or multiple memory chunks (e.g. one for each plane); or if custom strides
|
|
and custom plane offsets are used or not (as signalled by GstVideoMeta on
|
|
each buffer). This function will just fill the #GstVideoFrame structure
|
|
with the right values and if you use the accessor macros everything will
|
|
just work and you can access the data easily. It also maps the underlying
|
|
memory chunks for you.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE on success.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</instance-parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">the buffer to map</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstMapFlags</doc>
|
|
<type name="Gst.MapFlags" c:type="GstMapFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="map_id" c:identifier="gst_video_frame_map_id">
|
|
<doc xml:space="preserve">Use @info and @buffer to fill in the values of @frame with the video frame
|
|
information of frame @id.
|
|
|
|
When @id is -1, the default frame is mapped. When @id != -1, this function
|
|
will return %FALSE when there is no GstVideoMeta with that id.
|
|
|
|
All video planes of @buffer will be mapped and the pointers will be set in
|
|
@frame->data.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE on success.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</instance-parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">the buffer to map</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">the frame id to map</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstMapFlags</doc>
|
|
<type name="Gst.MapFlags" c:type="GstMapFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unmap" c:identifier="gst_video_frame_unmap">
|
|
<doc xml:space="preserve">Unmap the memory previously mapped with gst_video_frame_map.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<bitfield name="VideoFrameFlags"
|
|
glib:type-name="GstVideoFrameFlags"
|
|
glib:get-type="gst_video_frame_flags_get_type"
|
|
c:type="GstVideoFrameFlags">
|
|
<doc xml:space="preserve">Extra video frame flags</doc>
|
|
<member name="none"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_FRAME_FLAG_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="interlaced"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_FRAME_FLAG_INTERLACED"
|
|
glib:nick="interlaced">
|
|
<doc xml:space="preserve">The video frame is interlaced. In mixed
|
|
interlace-mode, this flag specifies if the frame is interlaced or
|
|
progressive.</doc>
|
|
</member>
|
|
<member name="tff"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_FRAME_FLAG_TFF"
|
|
glib:nick="tff">
|
|
<doc xml:space="preserve">The video frame has the top field first</doc>
|
|
</member>
|
|
<member name="rff"
|
|
value="4"
|
|
c:identifier="GST_VIDEO_FRAME_FLAG_RFF"
|
|
glib:nick="rff">
|
|
<doc xml:space="preserve">The video frame has the repeat flag</doc>
|
|
</member>
|
|
<member name="onefield"
|
|
value="8"
|
|
c:identifier="GST_VIDEO_FRAME_FLAG_ONEFIELD"
|
|
glib:nick="onefield">
|
|
<doc xml:space="preserve">The video frame has one field</doc>
|
|
</member>
|
|
<member name="multiple_view"
|
|
value="16"
|
|
c:identifier="GST_VIDEO_FRAME_FLAG_MULTIPLE_VIEW"
|
|
glib:nick="multiple-view">
|
|
<doc xml:space="preserve">The video contains one or
|
|
more non-mono views</doc>
|
|
</member>
|
|
<member name="first_in_bundle"
|
|
value="32"
|
|
c:identifier="GST_VIDEO_FRAME_FLAG_FIRST_IN_BUNDLE"
|
|
glib:nick="first-in-bundle">
|
|
<doc xml:space="preserve">The video frame is the first
|
|
in a set of corresponding views provided as sequential frames.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<bitfield name="VideoFrameMapFlags"
|
|
version="1.6"
|
|
glib:type-name="GstVideoFrameMapFlags"
|
|
glib:get-type="gst_video_frame_map_flags_get_type"
|
|
c:type="GstVideoFrameMapFlags">
|
|
<doc xml:space="preserve">Additional mapping flags for gst_video_frame_map().</doc>
|
|
<member name="no_ref"
|
|
value="65536"
|
|
c:identifier="GST_VIDEO_FRAME_MAP_FLAG_NO_REF"
|
|
glib:nick="no-ref">
|
|
<doc xml:space="preserve">Don't take another reference of the buffer and store it in
|
|
the GstVideoFrame. This makes sure that the buffer stays
|
|
writable while the frame is mapped, but requires that the
|
|
buffer reference stays valid until the frame is unmapped again.</doc>
|
|
</member>
|
|
<member name="last"
|
|
value="16777216"
|
|
c:identifier="GST_VIDEO_FRAME_MAP_FLAG_LAST"
|
|
glib:nick="last">
|
|
<doc xml:space="preserve">Offset to define more flags</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="VideoGLTextureOrientation"
|
|
c:type="GstVideoGLTextureOrientation">
|
|
<doc xml:space="preserve">The orientation of the GL texture.</doc>
|
|
<member name="normal_y_normal"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL">
|
|
<doc xml:space="preserve">Top line first in memory, left row first</doc>
|
|
</member>
|
|
<member name="normal_y_flip"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_FLIP">
|
|
<doc xml:space="preserve">Bottom line first in memory, left row first</doc>
|
|
</member>
|
|
<member name="flip_y_normal"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_FLIP_Y_NORMAL">
|
|
<doc xml:space="preserve">Top line first in memory, right row first</doc>
|
|
</member>
|
|
<member name="flip_y_flip"
|
|
value="3"
|
|
c:identifier="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_FLIP_Y_FLIP">
|
|
<doc xml:space="preserve">Bottom line first in memory, right row first</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="VideoGLTextureType" c:type="GstVideoGLTextureType">
|
|
<doc xml:space="preserve">The GL texture type.</doc>
|
|
<member name="luminance"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE">
|
|
<doc xml:space="preserve">Luminance texture, GL_LUMINANCE</doc>
|
|
</member>
|
|
<member name="luminance_alpha"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE_ALPHA">
|
|
<doc xml:space="preserve">Luminance-alpha texture, GL_LUMINANCE_ALPHA</doc>
|
|
</member>
|
|
<member name="rgb16"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_RGB16">
|
|
<doc xml:space="preserve">RGB 565 texture, GL_RGB</doc>
|
|
</member>
|
|
<member name="rgb"
|
|
value="3"
|
|
c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_RGB">
|
|
<doc xml:space="preserve">RGB texture, GL_RGB</doc>
|
|
</member>
|
|
<member name="rgba"
|
|
value="4"
|
|
c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_RGBA">
|
|
<doc xml:space="preserve">RGBA texture, GL_RGBA</doc>
|
|
</member>
|
|
<member name="r" value="5" c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_R">
|
|
<doc xml:space="preserve">R texture, GL_RED_EXT</doc>
|
|
</member>
|
|
<member name="rg" value="6" c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_RG">
|
|
<doc xml:space="preserve">RG texture, GL_RG_EXT</doc>
|
|
</member>
|
|
</enumeration>
|
|
<callback name="VideoGLTextureUpload" c:type="GstVideoGLTextureUpload">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="VideoGLTextureUploadMeta"
|
|
c:type="GstVideoGLTextureUploadMeta*"/>
|
|
</parameter>
|
|
<parameter name="texture_id" transfer-ownership="none">
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="VideoGLTextureUploadMeta"
|
|
c:type="GstVideoGLTextureUploadMeta">
|
|
<doc xml:space="preserve">Extra buffer metadata for uploading a buffer to an OpenGL texture
|
|
ID. The caller of gst_video_gl_texture_upload_meta_upload() must
|
|
have OpenGL set up and call this from a thread where it is valid
|
|
to upload something to an OpenGL texture.</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="texture_orientation" writable="1">
|
|
<doc xml:space="preserve">Orientation of the textures</doc>
|
|
<type name="VideoGLTextureOrientation"
|
|
c:type="GstVideoGLTextureOrientation"/>
|
|
</field>
|
|
<field name="n_textures" writable="1">
|
|
<doc xml:space="preserve">Number of textures that are generated</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="texture_type" writable="1">
|
|
<doc xml:space="preserve">Type of each texture</doc>
|
|
<array zero-terminated="0"
|
|
c:type="GstVideoGLTextureType"
|
|
fixed-size="4">
|
|
<type name="VideoGLTextureType" c:type="GstVideoGLTextureType"/>
|
|
</array>
|
|
</field>
|
|
<field name="buffer" readable="0" private="1">
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</field>
|
|
<field name="upload" readable="0" private="1">
|
|
<type name="VideoGLTextureUpload" c:type="GstVideoGLTextureUpload"/>
|
|
</field>
|
|
<field name="user_data" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="user_data_copy" readable="0" private="1">
|
|
<type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
|
|
</field>
|
|
<field name="user_data_free" readable="0" private="1">
|
|
<type name="GObject.BoxedFreeFunc" c:type="GBoxedFreeFunc"/>
|
|
</field>
|
|
<method name="upload"
|
|
c:identifier="gst_video_gl_texture_upload_meta_upload">
|
|
<doc xml:space="preserve">Uploads the buffer which owns the meta to a specific texture ID.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if uploading succeeded, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoGLTextureUploadMeta</doc>
|
|
<type name="VideoGLTextureUploadMeta"
|
|
c:type="GstVideoGLTextureUploadMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="texture_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">the texture IDs to upload to</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="get_info"
|
|
c:identifier="gst_video_gl_texture_upload_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<enumeration name="VideoGammaMode"
|
|
version="1.6"
|
|
glib:type-name="GstVideoGammaMode"
|
|
glib:get-type="gst_video_gamma_mode_get_type"
|
|
c:type="GstVideoGammaMode">
|
|
<member name="none"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_GAMMA_MODE_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">disable gamma handling</doc>
|
|
</member>
|
|
<member name="remap"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_GAMMA_MODE_REMAP"
|
|
glib:nick="remap">
|
|
<doc xml:space="preserve">convert between input and output gamma
|
|
Different gamma conversion modes</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="VideoInfo"
|
|
c:type="GstVideoInfo"
|
|
glib:type-name="GstVideoInfo"
|
|
glib:get-type="gst_video_info_get_type"
|
|
c:symbol-prefix="video_info">
|
|
<doc xml:space="preserve">Information describing image properties. This information can be filled
|
|
in from GstCaps with gst_video_info_from_caps(). The information is also used
|
|
to store the specific video info when mapping a video frame with
|
|
gst_video_frame_map().
|
|
|
|
Use the provided macros to access the info in this structure.</doc>
|
|
<field name="finfo" writable="1">
|
|
<doc xml:space="preserve">the format info of the video</doc>
|
|
<type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
|
|
</field>
|
|
<field name="interlace_mode" writable="1">
|
|
<doc xml:space="preserve">the interlace mode</doc>
|
|
<type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
|
|
</field>
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">additional video flags</doc>
|
|
<type name="VideoFlags" c:type="GstVideoFlags"/>
|
|
</field>
|
|
<field name="width" writable="1">
|
|
<doc xml:space="preserve">the width of the video</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="height" writable="1">
|
|
<doc xml:space="preserve">the height of the video</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="size" writable="1">
|
|
<doc xml:space="preserve">the default size of one frame</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</field>
|
|
<field name="views" writable="1">
|
|
<doc xml:space="preserve">the number of views for multiview video</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="chroma_site" writable="1">
|
|
<doc xml:space="preserve">a #GstVideoChromaSite.</doc>
|
|
<type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
|
|
</field>
|
|
<field name="colorimetry" writable="1">
|
|
<doc xml:space="preserve">the colorimetry info</doc>
|
|
<type name="VideoColorimetry" c:type="GstVideoColorimetry"/>
|
|
</field>
|
|
<field name="par_n" writable="1">
|
|
<doc xml:space="preserve">the pixel-aspect-ratio numerator</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="par_d" writable="1">
|
|
<doc xml:space="preserve">the pixel-aspect-ratio demnominator</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="fps_n" writable="1">
|
|
<doc xml:space="preserve">the framerate numerator</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="fps_d" writable="1">
|
|
<doc xml:space="preserve">the framerate demnominator</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="offset" writable="1">
|
|
<doc xml:space="preserve">offsets of the planes</doc>
|
|
<array zero-terminated="0" c:type="gsize" fixed-size="4">
|
|
<type name="gsize" c:type="gsize"/>
|
|
</array>
|
|
</field>
|
|
<field name="stride" writable="1">
|
|
<doc xml:space="preserve">strides of the planes</doc>
|
|
<array zero-terminated="0" c:type="gint" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</field>
|
|
<union name="ABI" c:type="ABI">
|
|
<record name="abi" c:type="abi">
|
|
<field name="multiview_mode" writable="1">
|
|
<type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
|
|
</field>
|
|
<field name="multiview_flags" writable="1">
|
|
<type name="VideoMultiviewFlags" c:type="GstVideoMultiviewFlags"/>
|
|
</field>
|
|
<field name="field_order" writable="1">
|
|
<type name="VideoFieldOrder" c:type="GstVideoFieldOrder"/>
|
|
</field>
|
|
</record>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</union>
|
|
<constructor name="new" c:identifier="gst_video_info_new" version="1.6">
|
|
<doc xml:space="preserve">Allocate a new #GstVideoInfo that is also initialized with
|
|
gst_video_info_init().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoInfo. free with gst_video_info_free().</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<method name="align" c:identifier="gst_video_info_align">
|
|
<doc xml:space="preserve">Adjust the offset and stride fields in @info so that the padding and
|
|
stride alignment in @align is respected.
|
|
|
|
Extra padding will be added to the right side when stride alignment padding
|
|
is required and @align will be updated with the new padding values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if alignment could not be applied, e.g. because the
|
|
size of a frame can't be represented as a 32 bit integer (Since: 1.12)</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="align" transfer-ownership="none">
|
|
<doc xml:space="preserve">alignment parameters</doc>
|
|
<type name="VideoAlignment" c:type="GstVideoAlignment*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="convert" c:identifier="gst_video_info_convert">
|
|
<doc xml:space="preserve">Converts among various #GstFormat types. This function handles
|
|
GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT. For
|
|
raw video, GST_FORMAT_DEFAULT corresponds to video frames. This
|
|
function can be used to handle pad queries of the type GST_QUERY_CONVERT.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the conversion was successful.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="src_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstFormat of the @src_value</doc>
|
|
<type name="Gst.Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="src_value" transfer-ownership="none">
|
|
<doc xml:space="preserve">value to convert</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="dest_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstFormat of the @dest_value</doc>
|
|
<type name="Gst.Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="dest_value"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to destination value</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_video_info_copy" version="1.6">
|
|
<doc xml:space="preserve">Copy a GstVideoInfo structure.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoInfo. free with gst_video_info_free.</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="const GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_video_info_free" version="1.6">
|
|
<doc xml:space="preserve">Free a GstVideoInfo structure previously allocated with gst_video_info_new()
|
|
or gst_video_info_copy().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="from_caps" c:identifier="gst_video_info_from_caps">
|
|
<doc xml:space="preserve">Parse @caps and update @info.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if @caps could be parsed</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Gst.Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init" c:identifier="gst_video_info_init">
|
|
<doc xml:space="preserve">Initialize @info with default values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_equal" c:identifier="gst_video_info_is_equal">
|
|
<doc xml:space="preserve">Compares two #GstVideoInfo and returns whether they are equal or not</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @info and @other are equal, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="const GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="other" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="const GstVideoInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_format" c:identifier="gst_video_info_set_format">
|
|
<doc xml:space="preserve">Set the default info for a video frame of @format and @width and @height.
|
|
|
|
Note: This initializes @info first, no values are preserved. This function
|
|
does not set the offsets correctly for interlaced vertically
|
|
subsampled formats.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if the returned video info is invalid, e.g. because the
|
|
size of a frame can't be represented as a 32 bit integer (Since: 1.12)</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">a width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">a height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_caps" c:identifier="gst_video_info_to_caps">
|
|
<doc xml:space="preserve">Convert the values of @info into a #GstCaps.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstCaps containing the info of @info.</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<enumeration name="VideoInterlaceMode"
|
|
glib:type-name="GstVideoInterlaceMode"
|
|
glib:get-type="gst_video_interlace_mode_get_type"
|
|
c:type="GstVideoInterlaceMode">
|
|
<doc xml:space="preserve">The possible values of the #GstVideoInterlaceMode describing the interlace
|
|
mode of the stream.</doc>
|
|
<member name="progressive"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_INTERLACE_MODE_PROGRESSIVE"
|
|
glib:nick="progressive">
|
|
<doc xml:space="preserve">all frames are progressive</doc>
|
|
</member>
|
|
<member name="interleaved"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_INTERLACE_MODE_INTERLEAVED"
|
|
glib:nick="interleaved">
|
|
<doc xml:space="preserve">2 fields are interleaved in one video
|
|
frame. Extra buffer flags describe the field order.</doc>
|
|
</member>
|
|
<member name="mixed"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_INTERLACE_MODE_MIXED"
|
|
glib:nick="mixed">
|
|
<doc xml:space="preserve">frames contains both interlaced and
|
|
progressive video, the buffer flags describe the frame and fields.</doc>
|
|
</member>
|
|
<member name="fields"
|
|
value="3"
|
|
c:identifier="GST_VIDEO_INTERLACE_MODE_FIELDS"
|
|
glib:nick="fields">
|
|
<doc xml:space="preserve">2 fields are stored in one buffer, use the
|
|
frame ID to get access to the required field. For multiview (the
|
|
'views' property > 1) the fields of view N can be found at frame ID
|
|
(N * 2) and (N * 2) + 1.
|
|
Each field has only half the amount of lines as noted in the
|
|
height property. This mode requires multiple GstVideoMeta metadata
|
|
to describe the fields.</doc>
|
|
</member>
|
|
<function name="from_string"
|
|
c:identifier="gst_video_interlace_mode_from_string"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Convert @mode to a #GstVideoInterlaceMode</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoInterlaceMode of @mode or
|
|
#GST_VIDEO_INTERLACE_MODE_PROGRESSIVE when @mode is not a valid
|
|
string representation for a #GstVideoInterlaceMode.</doc>
|
|
<type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">a mode</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_string"
|
|
c:identifier="gst_video_interlace_mode_to_string"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Convert @mode to its string representation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@mode as a string or NULL if @mode in invalid.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInterlaceMode</doc>
|
|
<type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<enumeration name="VideoMatrixMode"
|
|
version="1.6"
|
|
glib:type-name="GstVideoMatrixMode"
|
|
glib:get-type="gst_video_matrix_mode_get_type"
|
|
c:type="GstVideoMatrixMode">
|
|
<doc xml:space="preserve">Different color matrix conversion modes</doc>
|
|
<member name="full"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_MATRIX_MODE_FULL"
|
|
glib:nick="full">
|
|
<doc xml:space="preserve">do conversion between color matrices</doc>
|
|
</member>
|
|
<member name="input_only"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_MATRIX_MODE_INPUT_ONLY"
|
|
glib:nick="input-only">
|
|
<doc xml:space="preserve">use the input color matrix to convert
|
|
to and from R'G'B</doc>
|
|
</member>
|
|
<member name="output_only"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_MATRIX_MODE_OUTPUT_ONLY"
|
|
glib:nick="output-only">
|
|
<doc xml:space="preserve">use the output color matrix to convert
|
|
to and from R'G'B</doc>
|
|
</member>
|
|
<member name="none"
|
|
value="3"
|
|
c:identifier="GST_VIDEO_MATRIX_MODE_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">disable color matrix conversion.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="VideoMeta" c:type="GstVideoMeta">
|
|
<doc xml:space="preserve">Extra buffer metadata describing image properties</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="buffer" writable="1">
|
|
<doc xml:space="preserve">the buffer this metadata belongs to</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</field>
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">additional video flags</doc>
|
|
<type name="VideoFrameFlags" c:type="GstVideoFrameFlags"/>
|
|
</field>
|
|
<field name="format" writable="1">
|
|
<doc xml:space="preserve">the video format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</field>
|
|
<field name="id" writable="1">
|
|
<doc xml:space="preserve">identifier of the frame</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="width" writable="1">
|
|
<doc xml:space="preserve">the video width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="height" writable="1">
|
|
<doc xml:space="preserve">the video height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="n_planes" writable="1">
|
|
<doc xml:space="preserve">the number of planes in the image</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="offset" writable="1">
|
|
<doc xml:space="preserve">array of offsets for the planes. This field might not always be
|
|
valid, it is used by the default implementation of @map.</doc>
|
|
<array zero-terminated="0" c:type="gsize" fixed-size="4">
|
|
<type name="gsize" c:type="gsize"/>
|
|
</array>
|
|
</field>
|
|
<field name="stride" writable="1">
|
|
<doc xml:space="preserve">array of strides for the planes. This field might not always be
|
|
valid, it is used by the default implementation of @map.</doc>
|
|
<array zero-terminated="0" c:type="gint" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</field>
|
|
<field name="map">
|
|
<callback name="map">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</parameter>
|
|
<parameter name="plane" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<type name="Gst.MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
<parameter name="stride" transfer-ownership="none">
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<type name="Gst.MapFlags" c:type="GstMapFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="unmap">
|
|
<callback name="unmap">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</parameter>
|
|
<parameter name="plane" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<type name="Gst.MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<method name="map" c:identifier="gst_video_meta_map">
|
|
<doc xml:space="preserve">Map the video plane with index @plane in @meta and return a pointer to the
|
|
first byte of the plane and the stride of the plane.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the map operation was successful.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoMeta</doc>
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="plane" transfer-ownership="none">
|
|
<doc xml:space="preserve">a plane</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMapInfo</doc>
|
|
<type name="Gst.MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
<parameter name="data"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
nullable="1">
|
|
<doc xml:space="preserve">the data of @plane</doc>
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
<parameter name="stride"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">the stride of @plane</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">@GstMapFlags</doc>
|
|
<type name="Gst.MapFlags" c:type="GstMapFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unmap" c:identifier="gst_video_meta_unmap">
|
|
<doc xml:space="preserve">Unmap a previously mapped plane with gst_video_meta_map().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the memory was successfully unmapped.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoMeta</doc>
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="plane" transfer-ownership="none">
|
|
<doc xml:space="preserve">a plane</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMapInfo</doc>
|
|
<type name="Gst.MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="get_info" c:identifier="gst_video_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<record name="VideoMetaTransform" c:type="GstVideoMetaTransform">
|
|
<doc xml:space="preserve">Extra data passed to a video transform #GstMetaTransformFunction such as:
|
|
"gst-video-scale".</doc>
|
|
<field name="in_info" writable="1">
|
|
<doc xml:space="preserve">the input #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</field>
|
|
<field name="out_info" writable="1">
|
|
<doc xml:space="preserve">the output #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</field>
|
|
<function name="scale_get_quark"
|
|
c:identifier="gst_video_meta_transform_scale_get_quark">
|
|
<doc xml:space="preserve">Get the #GQuark for the "gst-video-scale" metadata transform operation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GQuark</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<bitfield name="VideoMultiviewFlags"
|
|
glib:type-name="GstVideoMultiviewFlags"
|
|
glib:get-type="gst_video_multiview_flags_get_type"
|
|
c:type="GstVideoMultiviewFlags">
|
|
<doc xml:space="preserve">GstVideoMultiviewFlags are used to indicate extra properties of a
|
|
stereo/multiview stream beyond the frame layout and buffer mapping
|
|
that is conveyed in the #GstMultiviewMode.</doc>
|
|
<member name="none"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">No flags</doc>
|
|
</member>
|
|
<member name="right_view_first"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST"
|
|
glib:nick="right-view-first">
|
|
<doc xml:space="preserve">For stereo streams, the
|
|
normal arrangement of left and right views is reversed.</doc>
|
|
</member>
|
|
<member name="left_flipped"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED"
|
|
glib:nick="left-flipped">
|
|
<doc xml:space="preserve">The left view is vertically
|
|
mirrored.</doc>
|
|
</member>
|
|
<member name="left_flopped"
|
|
value="4"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED"
|
|
glib:nick="left-flopped">
|
|
<doc xml:space="preserve">The left view is horizontally
|
|
mirrored.</doc>
|
|
</member>
|
|
<member name="right_flipped"
|
|
value="8"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED"
|
|
glib:nick="right-flipped">
|
|
<doc xml:space="preserve">The right view is
|
|
vertically mirrored.</doc>
|
|
</member>
|
|
<member name="right_flopped"
|
|
value="16"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED"
|
|
glib:nick="right-flopped">
|
|
<doc xml:space="preserve">The right view is
|
|
horizontally mirrored.</doc>
|
|
</member>
|
|
<member name="half_aspect"
|
|
value="16384"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT"
|
|
glib:nick="half-aspect">
|
|
<doc xml:space="preserve">For frame-packed
|
|
multiview modes, indicates that the individual
|
|
views have been encoded with half the true width or height
|
|
and should be scaled back up for display. This flag
|
|
is used for overriding input layout interpretation
|
|
by adjusting pixel-aspect-ratio.
|
|
For side-by-side, column interleaved or checkerboard packings, the
|
|
pixel width will be doubled. For row interleaved and top-bottom
|
|
encodings, pixel height will be doubled.</doc>
|
|
</member>
|
|
<member name="mixed_mono"
|
|
value="32768"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO"
|
|
glib:nick="mixed-mono">
|
|
<doc xml:space="preserve">The video stream contains both
|
|
mono and multiview portions, signalled on each buffer by the
|
|
absence or presence of the @GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW
|
|
buffer flag.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<class name="VideoMultiviewFlagsSet"
|
|
c:symbol-prefix="video_multiview_flagset"
|
|
parent="Gst.FlagSet"
|
|
glib:type-name="GstVideoMultiviewFlagsSet"
|
|
glib:get-type="gst_video_multiview_flagset_get_type"
|
|
glib:fundamental="1">
|
|
</class>
|
|
<enumeration name="VideoMultiviewFramePacking"
|
|
glib:type-name="GstVideoMultiviewFramePacking"
|
|
glib:get-type="gst_video_multiview_frame_packing_get_type"
|
|
c:type="GstVideoMultiviewFramePacking">
|
|
<doc xml:space="preserve">#GstVideoMultiviewFramePacking represents the subset of #GstVideoMultiviewMode
|
|
values that can be applied to any video frame without needing extra metadata.
|
|
It can be used by elements that provide a property to override the
|
|
multiview interpretation of a video stream when the video doesn't contain
|
|
any markers.
|
|
|
|
This enum is used (for example) on playbin, to re-interpret a played
|
|
video stream as a stereoscopic video. The individual enum values are
|
|
equivalent to and have the same value as the matching #GstVideoMultiviewMode.</doc>
|
|
<member name="none"
|
|
value="-1"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">A special value indicating
|
|
no frame packing info.</doc>
|
|
</member>
|
|
<member name="mono"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO"
|
|
glib:nick="mono">
|
|
<doc xml:space="preserve">All frames are monoscopic.</doc>
|
|
</member>
|
|
<member name="left"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT"
|
|
glib:nick="left">
|
|
<doc xml:space="preserve">All frames represent a left-eye view.</doc>
|
|
</member>
|
|
<member name="right"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT"
|
|
glib:nick="right">
|
|
<doc xml:space="preserve">All frames represent a right-eye view.</doc>
|
|
</member>
|
|
<member name="side_by_side"
|
|
value="3"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE"
|
|
glib:nick="side-by-side">
|
|
<doc xml:space="preserve">Left and right eye views are
|
|
provided in the left and right half of the frame respectively.</doc>
|
|
</member>
|
|
<member name="side_by_side_quincunx"
|
|
value="4"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX"
|
|
glib:nick="side-by-side-quincunx">
|
|
<doc xml:space="preserve">Left and right eye
|
|
views are provided in the left and right half of the frame, but
|
|
have been sampled using quincunx method, with half-pixel offset
|
|
between the 2 views.</doc>
|
|
</member>
|
|
<member name="column_interleaved"
|
|
value="5"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED"
|
|
glib:nick="column-interleaved">
|
|
<doc xml:space="preserve">Alternating vertical
|
|
columns of pixels represent the left and right eye view respectively.</doc>
|
|
</member>
|
|
<member name="row_interleaved"
|
|
value="6"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED"
|
|
glib:nick="row-interleaved">
|
|
<doc xml:space="preserve">Alternating horizontal
|
|
rows of pixels represent the left and right eye view respectively.</doc>
|
|
</member>
|
|
<member name="top_bottom"
|
|
value="7"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM"
|
|
glib:nick="top-bottom">
|
|
<doc xml:space="preserve">The top half of the frame
|
|
contains the left eye, and the bottom half the right eye.</doc>
|
|
</member>
|
|
<member name="checkerboard"
|
|
value="8"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD"
|
|
glib:nick="checkerboard">
|
|
<doc xml:space="preserve">Pixels are arranged with
|
|
alternating pixels representing left and right eye views in a
|
|
checkerboard fashion.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="VideoMultiviewMode"
|
|
glib:type-name="GstVideoMultiviewMode"
|
|
glib:get-type="gst_video_multiview_mode_get_type"
|
|
c:type="GstVideoMultiviewMode">
|
|
<doc xml:space="preserve">All possible stereoscopic 3D and multiview representations.
|
|
In conjunction with #GstVideoMultiviewFlags, describes how
|
|
multiview content is being transported in the stream.</doc>
|
|
<member name="none"
|
|
value="-1"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_MODE_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">A special value indicating
|
|
no multiview information. Used in GstVideoInfo and other places to
|
|
indicate that no specific multiview handling has been requested or
|
|
provided. This value is never carried on caps.</doc>
|
|
</member>
|
|
<member name="mono"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_MODE_MONO"
|
|
glib:nick="mono">
|
|
<doc xml:space="preserve">All frames are monoscopic.</doc>
|
|
</member>
|
|
<member name="left"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_MODE_LEFT"
|
|
glib:nick="left">
|
|
<doc xml:space="preserve">All frames represent a left-eye view.</doc>
|
|
</member>
|
|
<member name="right"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_MODE_RIGHT"
|
|
glib:nick="right">
|
|
<doc xml:space="preserve">All frames represent a right-eye view.</doc>
|
|
</member>
|
|
<member name="side_by_side"
|
|
value="3"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE"
|
|
glib:nick="side-by-side">
|
|
<doc xml:space="preserve">Left and right eye views are
|
|
provided in the left and right half of the frame respectively.</doc>
|
|
</member>
|
|
<member name="side_by_side_quincunx"
|
|
value="4"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX"
|
|
glib:nick="side-by-side-quincunx">
|
|
<doc xml:space="preserve">Left and right eye
|
|
views are provided in the left and right half of the frame, but
|
|
have been sampled using quincunx method, with half-pixel offset
|
|
between the 2 views.</doc>
|
|
</member>
|
|
<member name="column_interleaved"
|
|
value="5"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED"
|
|
glib:nick="column-interleaved">
|
|
<doc xml:space="preserve">Alternating vertical
|
|
columns of pixels represent the left and right eye view respectively.</doc>
|
|
</member>
|
|
<member name="row_interleaved"
|
|
value="6"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED"
|
|
glib:nick="row-interleaved">
|
|
<doc xml:space="preserve">Alternating horizontal
|
|
rows of pixels represent the left and right eye view respectively.</doc>
|
|
</member>
|
|
<member name="top_bottom"
|
|
value="7"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM"
|
|
glib:nick="top-bottom">
|
|
<doc xml:space="preserve">The top half of the frame
|
|
contains the left eye, and the bottom half the right eye.</doc>
|
|
</member>
|
|
<member name="checkerboard"
|
|
value="8"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD"
|
|
glib:nick="checkerboard">
|
|
<doc xml:space="preserve">Pixels are arranged with
|
|
alternating pixels representing left and right eye views in a
|
|
checkerboard fashion.</doc>
|
|
</member>
|
|
<member name="frame_by_frame"
|
|
value="32"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME"
|
|
glib:nick="frame-by-frame">
|
|
<doc xml:space="preserve">Left and right eye views
|
|
are provided in separate frames alternately.</doc>
|
|
</member>
|
|
<member name="multiview_frame_by_frame"
|
|
value="33"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME"
|
|
glib:nick="multiview-frame-by-frame">
|
|
<doc xml:space="preserve">Multiple
|
|
independent views are provided in separate frames in sequence.
|
|
This method only applies to raw video buffers at the moment.
|
|
Specific view identification is via the #GstVideoMultiviewMeta
|
|
and #GstVideoMeta(s) on raw video buffers.</doc>
|
|
</member>
|
|
<member name="separated"
|
|
value="34"
|
|
c:identifier="GST_VIDEO_MULTIVIEW_MODE_SEPARATED"
|
|
glib:nick="separated">
|
|
<doc xml:space="preserve">Multiple views are
|
|
provided as separate #GstMemory framebuffers attached to each
|
|
#GstBuffer, described by the #GstVideoMultiviewMeta
|
|
and #GstVideoMeta(s)</doc>
|
|
</member>
|
|
<function name="from_caps_string"
|
|
c:identifier="gst_video_multiview_mode_from_caps_string"
|
|
version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstVideoMultiviewMode value
|
|
|
|
Given a string from a caps multiview-mode field,
|
|
output the corresponding #GstVideoMultiviewMode
|
|
or #GST_VIDEO_MULTIVIEW_MODE_NONE</doc>
|
|
<type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="caps_mview_mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">multiview-mode field string from caps</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_caps_string"
|
|
c:identifier="gst_video_multiview_mode_to_caps_string"
|
|
version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The caps string representation of the mode, or NULL if invalid.
|
|
|
|
Given a #GstVideoMultiviewMode returns the multiview-mode caps string
|
|
for insertion into a caps structure</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mview_mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstVideoMultiviewMode value</doc>
|
|
<type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<interface name="VideoOrientation"
|
|
c:symbol-prefix="video_orientation"
|
|
c:type="GstVideoOrientation"
|
|
glib:type-name="GstVideoOrientation"
|
|
glib:get-type="gst_video_orientation_get_type"
|
|
glib:type-struct="VideoOrientationInterface">
|
|
<doc xml:space="preserve">The interface allows unified access to control flipping and autocenter
|
|
operation of video-sources or operators.</doc>
|
|
<virtual-method name="get_hcenter" invoker="get_hcenter">
|
|
<doc xml:space="preserve">Get the horizontal centering offset from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_hflip" invoker="get_hflip">
|
|
<doc xml:space="preserve">Get the horizontal flipping state (%TRUE for flipped) from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_vcenter" invoker="get_vcenter">
|
|
<doc xml:space="preserve">Get the vertical centering offset from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_vflip" invoker="get_vflip">
|
|
<doc xml:space="preserve">Get the vertical flipping state (%TRUE for flipped) from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_hcenter" invoker="set_hcenter">
|
|
<doc xml:space="preserve">Set the horizontal centering offset for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center" transfer-ownership="none">
|
|
<doc xml:space="preserve">centering offset</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_hflip" invoker="set_hflip">
|
|
<doc xml:space="preserve">Set the horizontal flipping state (%TRUE for flipped) for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip" transfer-ownership="none">
|
|
<doc xml:space="preserve">use flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_vcenter" invoker="set_vcenter">
|
|
<doc xml:space="preserve">Set the vertical centering offset for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center" transfer-ownership="none">
|
|
<doc xml:space="preserve">centering offset</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_vflip" invoker="set_vflip">
|
|
<doc xml:space="preserve">Set the vertical flipping state (%TRUE for flipped) for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip" transfer-ownership="none">
|
|
<doc xml:space="preserve">use flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="get_hcenter"
|
|
c:identifier="gst_video_orientation_get_hcenter">
|
|
<doc xml:space="preserve">Get the horizontal centering offset from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_hflip" c:identifier="gst_video_orientation_get_hflip">
|
|
<doc xml:space="preserve">Get the horizontal flipping state (%TRUE for flipped) from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_vcenter"
|
|
c:identifier="gst_video_orientation_get_vcenter">
|
|
<doc xml:space="preserve">Get the vertical centering offset from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_vflip" c:identifier="gst_video_orientation_get_vflip">
|
|
<doc xml:space="preserve">Get the vertical flipping state (%TRUE for flipped) from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_hcenter"
|
|
c:identifier="gst_video_orientation_set_hcenter">
|
|
<doc xml:space="preserve">Set the horizontal centering offset for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center" transfer-ownership="none">
|
|
<doc xml:space="preserve">centering offset</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_hflip" c:identifier="gst_video_orientation_set_hflip">
|
|
<doc xml:space="preserve">Set the horizontal flipping state (%TRUE for flipped) for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip" transfer-ownership="none">
|
|
<doc xml:space="preserve">use flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_vcenter"
|
|
c:identifier="gst_video_orientation_set_vcenter">
|
|
<doc xml:space="preserve">Set the vertical centering offset for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center" transfer-ownership="none">
|
|
<doc xml:space="preserve">centering offset</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_vflip" c:identifier="gst_video_orientation_set_vflip">
|
|
<doc xml:space="preserve">Set the vertical flipping state (%TRUE for flipped) for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip" transfer-ownership="none">
|
|
<doc xml:space="preserve">use flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</interface>
|
|
<record name="VideoOrientationInterface"
|
|
c:type="GstVideoOrientationInterface"
|
|
glib:is-gtype-struct-for="VideoOrientation">
|
|
<doc xml:space="preserve">#GstVideoOrientationInterface interface.</doc>
|
|
<field name="iface">
|
|
<doc xml:space="preserve">parent interface type.</doc>
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
<field name="get_hflip">
|
|
<callback name="get_hflip">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="flip"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_vflip">
|
|
<callback name="get_vflip">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="flip"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_hcenter">
|
|
<callback name="get_hcenter">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="center"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_vcenter">
|
|
<callback name="get_vcenter">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="center"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_hflip">
|
|
<callback name="set_hflip">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="flip" transfer-ownership="none">
|
|
<doc xml:space="preserve">use flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_vflip">
|
|
<callback name="set_vflip">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="flip" transfer-ownership="none">
|
|
<doc xml:space="preserve">use flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_hcenter">
|
|
<callback name="set_hcenter">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="center" transfer-ownership="none">
|
|
<doc xml:space="preserve">centering offset</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_vcenter">
|
|
<callback name="set_vcenter">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="center" transfer-ownership="none">
|
|
<doc xml:space="preserve">centering offset</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<enumeration name="VideoOrientationMethod"
|
|
version="1.10"
|
|
glib:type-name="GstVideoOrientationMethod"
|
|
glib:get-type="gst_video_orientation_method_get_type"
|
|
c:type="GstVideoOrientationMethod">
|
|
<doc xml:space="preserve">The different video orientation methods.</doc>
|
|
<member name="identity"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_ORIENTATION_IDENTITY"
|
|
glib:nick="identity">
|
|
<doc xml:space="preserve">Identity (no rotation)</doc>
|
|
</member>
|
|
<member name="90r"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_ORIENTATION_90R"
|
|
glib:nick="90r">
|
|
<doc xml:space="preserve">Rotate clockwise 90 degrees</doc>
|
|
</member>
|
|
<member name="180"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_ORIENTATION_180"
|
|
glib:nick="180">
|
|
<doc xml:space="preserve">Rotate 180 degrees</doc>
|
|
</member>
|
|
<member name="90l"
|
|
value="3"
|
|
c:identifier="GST_VIDEO_ORIENTATION_90L"
|
|
glib:nick="90l">
|
|
<doc xml:space="preserve">Rotate counter-clockwise 90 degrees</doc>
|
|
</member>
|
|
<member name="horiz"
|
|
value="4"
|
|
c:identifier="GST_VIDEO_ORIENTATION_HORIZ"
|
|
glib:nick="horiz">
|
|
<doc xml:space="preserve">Flip horizontally</doc>
|
|
</member>
|
|
<member name="vert"
|
|
value="5"
|
|
c:identifier="GST_VIDEO_ORIENTATION_VERT"
|
|
glib:nick="vert">
|
|
<doc xml:space="preserve">Flip vertically</doc>
|
|
</member>
|
|
<member name="ul_lr"
|
|
value="6"
|
|
c:identifier="GST_VIDEO_ORIENTATION_UL_LR"
|
|
glib:nick="ul-lr">
|
|
<doc xml:space="preserve">Flip across upper left/lower right diagonal</doc>
|
|
</member>
|
|
<member name="ur_ll"
|
|
value="7"
|
|
c:identifier="GST_VIDEO_ORIENTATION_UR_LL"
|
|
glib:nick="ur-ll">
|
|
<doc xml:space="preserve">Flip across upper right/lower left diagonal</doc>
|
|
</member>
|
|
<member name="auto"
|
|
value="8"
|
|
c:identifier="GST_VIDEO_ORIENTATION_AUTO"
|
|
glib:nick="auto">
|
|
<doc xml:space="preserve">Select flip method based on image-orientation tag</doc>
|
|
</member>
|
|
<member name="custom"
|
|
value="9"
|
|
c:identifier="GST_VIDEO_ORIENTATION_CUSTOM"
|
|
glib:nick="custom">
|
|
<doc xml:space="preserve">Current status depends on plugin internal setup</doc>
|
|
</member>
|
|
</enumeration>
|
|
<interface name="VideoOverlay"
|
|
c:symbol-prefix="video_overlay"
|
|
c:type="GstVideoOverlay"
|
|
glib:type-name="GstVideoOverlay"
|
|
glib:get-type="gst_video_overlay_get_type"
|
|
glib:type-struct="VideoOverlayInterface">
|
|
<doc xml:space="preserve">The #GstVideoOverlay interface is used for 2 main purposes :
|
|
|
|
* To get a grab on the Window where the video sink element is going to render.
|
|
This is achieved by either being informed about the Window identifier that
|
|
the video sink element generated, or by forcing the video sink element to use
|
|
a specific Window identifier for rendering.
|
|
* To force a redrawing of the latest video frame the video sink element
|
|
displayed on the Window. Indeed if the #GstPipeline is in #GST_STATE_PAUSED
|
|
state, moving the Window around will damage its content. Application
|
|
developers will want to handle the Expose events themselves and force the
|
|
video sink element to refresh the Window's content.
|
|
|
|
Using the Window created by the video sink is probably the simplest scenario,
|
|
in some cases, though, it might not be flexible enough for application
|
|
developers if they need to catch events such as mouse moves and button
|
|
clicks.
|
|
|
|
Setting a specific Window identifier on the video sink element is the most
|
|
flexible solution but it has some issues. Indeed the application needs to set
|
|
its Window identifier at the right time to avoid internal Window creation
|
|
from the video sink element. To solve this issue a #GstMessage is posted on
|
|
the bus to inform the application that it should set the Window identifier
|
|
immediately. Here is an example on how to do that correctly:
|
|
|[
|
|
static GstBusSyncReply
|
|
create_window (GstBus * bus, GstMessage * message, GstPipeline * pipeline)
|
|
{
|
|
// ignore anything but 'prepare-window-handle' element messages
|
|
if (!gst_is_video_overlay_prepare_window_handle_message (message))
|
|
return GST_BUS_PASS;
|
|
|
|
win = XCreateSimpleWindow (disp, root, 0, 0, 320, 240, 0, 0, 0);
|
|
|
|
XSetWindowBackgroundPixmap (disp, win, None);
|
|
|
|
XMapRaised (disp, win);
|
|
|
|
XSync (disp, FALSE);
|
|
|
|
gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message)),
|
|
win);
|
|
|
|
gst_message_unref (message);
|
|
|
|
return GST_BUS_DROP;
|
|
}
|
|
...
|
|
int
|
|
main (int argc, char **argv)
|
|
{
|
|
...
|
|
bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
|
|
gst_bus_set_sync_handler (bus, (GstBusSyncHandler) create_window, pipeline,
|
|
NULL);
|
|
...
|
|
}
|
|
]|
|
|
|
|
## Two basic usage scenarios
|
|
|
|
There are two basic usage scenarios: in the simplest case, the application
|
|
uses #playbin or #plasink or knows exactly what particular element is used
|
|
for video output, which is usually the case when the application creates
|
|
the videosink to use (e.g. #xvimagesink, #ximagesink, etc.) itself; in this
|
|
case, the application can just create the videosink element, create and
|
|
realize the window to render the video on and then
|
|
call gst_video_overlay_set_window_handle() directly with the XID or native
|
|
window handle, before starting up the pipeline.
|
|
As #playbin and #playsink implement the video overlay interface and proxy
|
|
it transparently to the actual video sink even if it is created later, this
|
|
case also applies when using these elements.
|
|
|
|
In the other and more common case, the application does not know in advance
|
|
what GStreamer video sink element will be used for video output. This is
|
|
usually the case when an element such as #autovideosink is used.
|
|
In this case, the video sink element itself is created
|
|
asynchronously from a GStreamer streaming thread some time after the
|
|
pipeline has been started up. When that happens, however, the video sink
|
|
will need to know right then whether to render onto an already existing
|
|
application window or whether to create its own window. This is when it
|
|
posts a prepare-window-handle message, and that is also why this message needs
|
|
to be handled in a sync bus handler which will be called from the streaming
|
|
thread directly (because the video sink will need an answer right then).
|
|
|
|
As response to the prepare-window-handle element message in the bus sync
|
|
handler, the application may use gst_video_overlay_set_window_handle() to tell
|
|
the video sink to render onto an existing window surface. At this point the
|
|
application should already have obtained the window handle / XID, so it
|
|
just needs to set it. It is generally not advisable to call any GUI toolkit
|
|
functions or window system functions from the streaming thread in which the
|
|
prepare-window-handle message is handled, because most GUI toolkits and
|
|
windowing systems are not thread-safe at all and a lot of care would be
|
|
required to co-ordinate the toolkit and window system calls of the
|
|
different threads (Gtk+ users please note: prior to Gtk+ 2.18
|
|
GDK_WINDOW_XID() was just a simple structure access, so generally fine to do
|
|
within the bus sync handler; this macro was changed to a function call in
|
|
Gtk+ 2.18 and later, which is likely to cause problems when called from a
|
|
sync handler; see below for a better approach without GDK_WINDOW_XID()
|
|
used in the callback).
|
|
|
|
## GstVideoOverlay and Gtk+
|
|
|
|
|[
|
|
#include &lt;gst/video/videooverlay.h&gt;
|
|
#include &lt;gtk/gtk.h&gt;
|
|
#ifdef GDK_WINDOWING_X11
|
|
#include &lt;gdk/gdkx.h&gt; // for GDK_WINDOW_XID
|
|
#endif
|
|
#ifdef GDK_WINDOWING_WIN32
|
|
#include &lt;gdk/gdkwin32.h&gt; // for GDK_WINDOW_HWND
|
|
#endif
|
|
...
|
|
static guintptr video_window_handle = 0;
|
|
...
|
|
static GstBusSyncReply
|
|
bus_sync_handler (GstBus * bus, GstMessage * message, gpointer user_data)
|
|
{
|
|
// ignore anything but 'prepare-window-handle' element messages
|
|
if (!gst_is_video_overlay_prepare_window_handle_message (message))
|
|
return GST_BUS_PASS;
|
|
|
|
if (video_window_handle != 0) {
|
|
GstVideoOverlay *overlay;
|
|
|
|
// GST_MESSAGE_SRC (message) will be the video sink element
|
|
overlay = GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message));
|
|
gst_video_overlay_set_window_handle (overlay, video_window_handle);
|
|
} else {
|
|
g_warning ("Should have obtained video_window_handle by now!");
|
|
}
|
|
|
|
gst_message_unref (message);
|
|
return GST_BUS_DROP;
|
|
}
|
|
...
|
|
static void
|
|
video_widget_realize_cb (GtkWidget * widget, gpointer data)
|
|
{
|
|
#if GTK_CHECK_VERSION(2,18,0)
|
|
// Tell Gtk+/Gdk to create a native window for this widget instead of
|
|
// drawing onto the parent widget.
|
|
// This is here just for pedagogical purposes, GDK_WINDOW_XID will call
|
|
// it as well in newer Gtk versions
|
|
if (!gdk_window_ensure_native (widget->window))
|
|
g_error ("Couldn't create native window needed for GstVideoOverlay!");
|
|
#endif
|
|
|
|
#ifdef GDK_WINDOWING_X11
|
|
{
|
|
gulong xid = GDK_WINDOW_XID (gtk_widget_get_window (video_window));
|
|
video_window_handle = xid;
|
|
}
|
|
#endif
|
|
#ifdef GDK_WINDOWING_WIN32
|
|
{
|
|
HWND wnd = GDK_WINDOW_HWND (gtk_widget_get_window (video_window));
|
|
video_window_handle = (guintptr) wnd;
|
|
}
|
|
#endif
|
|
}
|
|
...
|
|
int
|
|
main (int argc, char **argv)
|
|
{
|
|
GtkWidget *video_window;
|
|
GtkWidget *app_window;
|
|
...
|
|
app_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
|
...
|
|
video_window = gtk_drawing_area_new ();
|
|
g_signal_connect (video_window, "realize",
|
|
G_CALLBACK (video_widget_realize_cb), NULL);
|
|
gtk_widget_set_double_buffered (video_window, FALSE);
|
|
...
|
|
// usually the video_window will not be directly embedded into the
|
|
// application window like this, but there will be many other widgets
|
|
// and the video window will be embedded in one of them instead
|
|
gtk_container_add (GTK_CONTAINER (ap_window), video_window);
|
|
...
|
|
// show the GUI
|
|
gtk_widget_show_all (app_window);
|
|
|
|
// realize window now so that the video window gets created and we can
|
|
// obtain its XID/HWND before the pipeline is started up and the videosink
|
|
// asks for the XID/HWND of the window to render onto
|
|
gtk_widget_realize (video_window);
|
|
|
|
// we should have the XID/HWND now
|
|
g_assert (video_window_handle != 0);
|
|
...
|
|
// set up sync handler for setting the xid once the pipeline is started
|
|
bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
|
|
gst_bus_set_sync_handler (bus, (GstBusSyncHandler) bus_sync_handler, NULL,
|
|
NULL);
|
|
gst_object_unref (bus);
|
|
...
|
|
gst_element_set_state (pipeline, GST_STATE_PLAYING);
|
|
...
|
|
}
|
|
]|
|
|
|
|
## GstVideoOverlay and Qt
|
|
|
|
|[
|
|
#include &lt;glib.h&gt;
|
|
#include &lt;gst/gst.h&gt;
|
|
#include &lt;gst/video/videooverlay.h&gt;
|
|
|
|
#include &lt;QApplication&gt;
|
|
#include &lt;QTimer&gt;
|
|
#include &lt;QWidget&gt;
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
if (!g_thread_supported ())
|
|
g_thread_init (NULL);
|
|
|
|
gst_init (&argc, &argv);
|
|
QApplication app(argc, argv);
|
|
app.connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit ()));
|
|
|
|
// prepare the pipeline
|
|
|
|
GstElement *pipeline = gst_pipeline_new ("xvoverlay");
|
|
GstElement *src = gst_element_factory_make ("videotestsrc", NULL);
|
|
GstElement *sink = gst_element_factory_make ("xvimagesink", NULL);
|
|
gst_bin_add_many (GST_BIN (pipeline), src, sink, NULL);
|
|
gst_element_link (src, sink);
|
|
|
|
// prepare the ui
|
|
|
|
QWidget window;
|
|
window.resize(320, 240);
|
|
window.show();
|
|
|
|
WId xwinid = window.winId();
|
|
gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (sink), xwinid);
|
|
|
|
// run the pipeline
|
|
|
|
GstStateChangeReturn sret = gst_element_set_state (pipeline,
|
|
GST_STATE_PLAYING);
|
|
if (sret == GST_STATE_CHANGE_FAILURE) {
|
|
gst_element_set_state (pipeline, GST_STATE_NULL);
|
|
gst_object_unref (pipeline);
|
|
// Exit application
|
|
QTimer::singleShot(0, QApplication::activeWindow(), SLOT(quit()));
|
|
}
|
|
|
|
int ret = app.exec();
|
|
|
|
window.hide();
|
|
gst_element_set_state (pipeline, GST_STATE_NULL);
|
|
gst_object_unref (pipeline);
|
|
|
|
return ret;
|
|
}
|
|
]|</doc>
|
|
<function name="install_properties"
|
|
c:identifier="gst_video_overlay_install_properties">
|
|
<doc xml:space="preserve">This helper shall be used by classes implementing the #GstVideoOverlay
|
|
interface that want the render rectangle to be controllable using
|
|
properties. This helper will install "render-rectangle" property into the
|
|
class.
|
|
|
|
Since 1.14</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="oclass" transfer-ownership="none">
|
|
<doc xml:space="preserve">The class on which the properties will be installed</doc>
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass*"/>
|
|
</parameter>
|
|
<parameter name="last_prop_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The first free property ID to use</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="set_property"
|
|
c:identifier="gst_video_overlay_set_property">
|
|
<doc xml:space="preserve">This helper shall be used by classes implementing the #GstVideoOverlay
|
|
interface that want the render rectangle to be controllable using
|
|
properties. This helper will parse and set the render rectangle calling
|
|
gst_video_overlay_set_render_rectangle().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the @property_id matches the GstVideoOverlay property
|
|
|
|
Since 1.14</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">The instance on which the property is set</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="last_prop_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The highest property ID.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="property_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The property ID</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GValue to be set</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="expose" invoker="expose">
|
|
<doc xml:space="preserve">Tell an overlay that it has been exposed. This will redraw the current frame
|
|
in the drawable even if the pipeline is PAUSED.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to expose.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="handle_events" invoker="handle_events">
|
|
<doc xml:space="preserve">Tell an overlay that it should handle events from the window system. These
|
|
events are forwarded upstream as navigation events. In some window system,
|
|
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 #GstVideoOverlay.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to expose.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="handle_events" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #gboolean indicating if events should be handled or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_render_rectangle">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_window_handle" invoker="set_window_handle">
|
|
<doc xml:space="preserve">This will call the video overlay's set_window_handle method. You
|
|
should use this method to tell to an overlay to display video output to a
|
|
specific window (e.g. an XWindow on X11). Passing 0 as the @handle will
|
|
tell the overlay to stop using that window and create an internal one.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to set the window on.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="handle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a handle referencing the window.</doc>
|
|
<type name="guintptr" c:type="guintptr"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="expose" c:identifier="gst_video_overlay_expose">
|
|
<doc xml:space="preserve">Tell an overlay that it has been exposed. This will redraw the current frame
|
|
in the drawable even if the pipeline is PAUSED.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to expose.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="got_window_handle"
|
|
c:identifier="gst_video_overlay_got_window_handle">
|
|
<doc xml:space="preserve">This will post a "have-window-handle" element message on the bus.
|
|
|
|
This function should only be used by video overlay plugin developers.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay which got a window</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="handle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a platform-specific handle referencing the window</doc>
|
|
<type name="guintptr" c:type="guintptr"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="handle_events"
|
|
c:identifier="gst_video_overlay_handle_events">
|
|
<doc xml:space="preserve">Tell an overlay that it should handle events from the window system. These
|
|
events are forwarded upstream as navigation events. In some window system,
|
|
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 #GstVideoOverlay.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to expose.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="handle_events" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #gboolean indicating if events should be handled or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="prepare_window_handle"
|
|
c:identifier="gst_video_overlay_prepare_window_handle">
|
|
<doc xml:space="preserve">This will post a "prepare-window-handle" element message on the bus
|
|
to give applications an opportunity to call
|
|
gst_video_overlay_set_window_handle() before a plugin creates its own
|
|
window.
|
|
|
|
This function should only be used by video overlay plugin developers.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay which does not yet have an Window handle set</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_render_rectangle"
|
|
c:identifier="gst_video_overlay_set_render_rectangle">
|
|
<doc xml:space="preserve">Configure a subregion as a video target within the window set by
|
|
gst_video_overlay_set_window_handle(). If this is not used or not supported
|
|
the video will fill the area of the window set as the overlay to 100%.
|
|
By specifying the rectangle, the video can be overlayed to a specific region
|
|
of that window only. After setting the new rectangle one should call
|
|
gst_video_overlay_expose() to force a redraw. To unset the region pass -1 for
|
|
the @width and @height parameters.
|
|
|
|
This method is needed for non fullscreen video overlay in UI toolkits that
|
|
do not support subwindows.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if not supported by the sink.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the horizontal offset of the render area inside the window</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the vertical offset of the render area inside the window</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width of the render area inside the window</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height of the render area inside the window</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_window_handle"
|
|
c:identifier="gst_video_overlay_set_window_handle">
|
|
<doc xml:space="preserve">This will call the video overlay's set_window_handle method. You
|
|
should use this method to tell to an overlay to display video output to a
|
|
specific window (e.g. an XWindow on X11). Passing 0 as the @handle will
|
|
tell the overlay to stop using that window and create an internal one.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to set the window on.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="handle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a handle referencing the window.</doc>
|
|
<type name="guintptr" c:type="guintptr"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</interface>
|
|
<record name="VideoOverlayComposition"
|
|
c:type="GstVideoOverlayComposition"
|
|
glib:type-name="GstVideoOverlayComposition"
|
|
glib:get-type="gst_video_overlay_composition_get_type"
|
|
c:symbol-prefix="video_overlay_composition">
|
|
<doc xml:space="preserve">Functions to create and handle overlay compositions on video buffers.
|
|
|
|
An overlay composition describes one or more overlay rectangles to be
|
|
blended on top of a video buffer.
|
|
|
|
This API serves two main purposes:
|
|
|
|
* it can be used to attach overlay information (subtitles or logos)
|
|
to non-raw video buffers such as GL/VAAPI/VDPAU surfaces. The actual
|
|
blending of the overlay can then be done by e.g. the video sink that
|
|
processes these non-raw buffers.
|
|
|
|
* it can also be used to blend overlay rectangles on top of raw video
|
|
buffers, thus consolidating blending functionality for raw video in
|
|
one place.
|
|
|
|
Together, this allows existing overlay elements to easily handle raw
|
|
and non-raw video as input in without major changes (once the overlays
|
|
have been put into a #GstOverlayComposition object anyway) - for raw
|
|
video the overlay can just use the blending function to blend the data
|
|
on top of the video, and for surface buffers it can just attach them to
|
|
the buffer and let the sink render the overlays.</doc>
|
|
<constructor name="new" c:identifier="gst_video_overlay_composition_new">
|
|
<doc xml:space="preserve">Creates a new video overlay composition object to hold one or more
|
|
overlay rectangles.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoOverlayComposition. Unref with
|
|
gst_video_overlay_composition_unref() when no longer needed.</doc>
|
|
<type name="VideoOverlayComposition"
|
|
c:type="GstVideoOverlayComposition*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle to add to the
|
|
composition</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="add_rectangle"
|
|
c:identifier="gst_video_overlay_composition_add_rectangle">
|
|
<doc xml:space="preserve">Adds an overlay rectangle to an existing overlay composition object. This
|
|
must be done right after creating the overlay composition.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="comp" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition</doc>
|
|
<type name="VideoOverlayComposition"
|
|
c:type="GstVideoOverlayComposition*"/>
|
|
</instance-parameter>
|
|
<parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle to add to the
|
|
composition</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="blend" c:identifier="gst_video_overlay_composition_blend">
|
|
<doc xml:space="preserve">Blends the overlay rectangles in @comp on top of the raw video data
|
|
contained in @video_buf. The data in @video_buf must be writable and
|
|
mapped appropriately.
|
|
|
|
Since @video_buf data is read and will be modified, it ought be
|
|
mapped with flag GST_MAP_READWRITE.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="comp" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition</doc>
|
|
<type name="VideoOverlayComposition"
|
|
c:type="GstVideoOverlayComposition*"/>
|
|
</instance-parameter>
|
|
<parameter name="video_buf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame containing raw video data in a
|
|
supported format. It should be mapped using GST_MAP_READWRITE</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_video_overlay_composition_copy">
|
|
<doc xml:space="preserve">Makes a copy of @comp and all contained rectangles, so that it is possible
|
|
to modify the composition and contained rectangles (e.g. add additional
|
|
rectangles or change the render co-ordinates or render dimension). The
|
|
actual overlay pixel data buffers contained in the rectangles are not
|
|
copied.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoOverlayComposition equivalent
|
|
to @comp.</doc>
|
|
<type name="VideoOverlayComposition"
|
|
c:type="GstVideoOverlayComposition*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="comp" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition to copy</doc>
|
|
<type name="VideoOverlayComposition"
|
|
c:type="GstVideoOverlayComposition*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_rectangle"
|
|
c:identifier="gst_video_overlay_composition_get_rectangle">
|
|
<doc xml:space="preserve">Returns the @n-th #GstVideoOverlayRectangle contained in @comp.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the @n-th rectangle, or NULL if @n is out of
|
|
bounds. Will not return a new reference, the caller will need to
|
|
obtain her own reference using gst_video_overlay_rectangle_ref()
|
|
if needed.</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="comp" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition</doc>
|
|
<type name="VideoOverlayComposition"
|
|
c:type="GstVideoOverlayComposition*"/>
|
|
</instance-parameter>
|
|
<parameter name="n" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of the rectangle to get</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_seqnum"
|
|
c:identifier="gst_video_overlay_composition_get_seqnum">
|
|
<doc xml:space="preserve">Returns the sequence number of this composition. Sequence numbers are
|
|
monotonically increasing and unique for overlay compositions and rectangles
|
|
(meaning there will never be a rectangle with the same sequence number as
|
|
a composition).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the sequence number of @comp</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="comp" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition</doc>
|
|
<type name="VideoOverlayComposition"
|
|
c:type="GstVideoOverlayComposition*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="make_writable"
|
|
c:identifier="gst_video_overlay_composition_make_writable">
|
|
<doc xml:space="preserve">Takes ownership of @comp and returns a version of @comp that is writable
|
|
(i.e. can be modified). Will either return @comp right away, or create a
|
|
new writable copy of @comp and unref @comp itself. All the contained
|
|
rectangles will also be copied, but the actual overlay pixel data buffers
|
|
contained in the rectangles are not copied.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a writable #GstVideoOverlayComposition
|
|
equivalent to @comp.</doc>
|
|
<type name="VideoOverlayComposition"
|
|
c:type="GstVideoOverlayComposition*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="comp" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition to copy</doc>
|
|
<type name="VideoOverlayComposition"
|
|
c:type="GstVideoOverlayComposition*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="n_rectangles"
|
|
c:identifier="gst_video_overlay_composition_n_rectangles">
|
|
<doc xml:space="preserve">Returns the number of #GstVideoOverlayRectangle<!-- -->s contained in @comp.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of rectangles</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="comp" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition</doc>
|
|
<type name="VideoOverlayComposition"
|
|
c:type="GstVideoOverlayComposition*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="VideoOverlayCompositionMeta"
|
|
c:type="GstVideoOverlayCompositionMeta">
|
|
<doc xml:space="preserve">Extra buffer metadata describing image overlay data.</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="overlay" writable="1">
|
|
<doc xml:space="preserve">the attached #GstVideoOverlayComposition</doc>
|
|
<type name="VideoOverlayComposition"
|
|
c:type="GstVideoOverlayComposition*"/>
|
|
</field>
|
|
<function name="get_info"
|
|
c:identifier="gst_video_overlay_composition_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<bitfield name="VideoOverlayFormatFlags"
|
|
c:type="GstVideoOverlayFormatFlags">
|
|
<doc xml:space="preserve">Overlay format flags.</doc>
|
|
<member name="none"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_OVERLAY_FORMAT_FLAG_NONE">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="premultiplied_alpha"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_OVERLAY_FORMAT_FLAG_PREMULTIPLIED_ALPHA">
|
|
<doc xml:space="preserve">RGB are premultiplied by A/255.</doc>
|
|
</member>
|
|
<member name="global_alpha"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA">
|
|
<doc xml:space="preserve">a global-alpha value != 1 is set.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="VideoOverlayInterface"
|
|
c:type="GstVideoOverlayInterface"
|
|
glib:is-gtype-struct-for="VideoOverlay">
|
|
<doc xml:space="preserve">#GstVideoOverlay interface</doc>
|
|
<field name="iface">
|
|
<doc xml:space="preserve">parent interface type.</doc>
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
<field name="expose">
|
|
<callback name="expose">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to expose.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="handle_events">
|
|
<callback name="handle_events">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to expose.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</parameter>
|
|
<parameter name="handle_events" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #gboolean indicating if events should be handled or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_render_rectangle">
|
|
<callback name="set_render_rectangle">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="overlay" transfer-ownership="none">
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_window_handle">
|
|
<callback name="set_window_handle">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to set the window on.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</parameter>
|
|
<parameter name="handle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a handle referencing the window.</doc>
|
|
<type name="guintptr" c:type="guintptr"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<record name="VideoOverlayProperties"
|
|
c:type="GstVideoOverlayProperties"
|
|
disguised="1">
|
|
</record>
|
|
<record name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle"
|
|
glib:type-name="GstVideoOverlayRectangle"
|
|
glib:get-type="gst_video_overlay_rectangle_get_type"
|
|
c:symbol-prefix="video_overlay_rectangle">
|
|
<doc xml:space="preserve">An opaque video overlay rectangle object. A rectangle contains a single
|
|
overlay rectangle which can be added to a composition.</doc>
|
|
<constructor name="new_raw"
|
|
c:identifier="gst_video_overlay_rectangle_new_raw">
|
|
<doc xml:space="preserve">Creates a new video overlay rectangle with ARGB or AYUV pixel data.
|
|
The layout in case of ARGB of the components in memory is B-G-R-A
|
|
on little-endian platforms
|
|
(corresponding to #GST_VIDEO_FORMAT_BGRA) and A-R-G-B on big-endian
|
|
platforms (corresponding to #GST_VIDEO_FORMAT_ARGB). In other words,
|
|
pixels are treated as 32-bit words and the lowest 8 bits then contain
|
|
the blue component value and the highest 8 bits contain the alpha
|
|
component value. Unless specified in the flags, the RGB values are
|
|
non-premultiplied. This is the format that is used by most hardware,
|
|
and also many rendering libraries such as Cairo, for example.
|
|
The pixel data buffer must have #GstVideoMeta set.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoOverlayRectangle. Unref with
|
|
gst_video_overlay_rectangle_unref() when no longer needed.</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pixels" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer pointing to the pixel memory</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="render_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the X co-ordinate on the video where the top-left corner of this
|
|
overlay rectangle should be rendered to</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="render_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the Y co-ordinate on the video where the top-left corner of this
|
|
overlay rectangle should be rendered to</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="render_width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the render width of this rectangle on the video</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="render_height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the render height of this rectangle on the video</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags</doc>
|
|
<type name="VideoOverlayFormatFlags"
|
|
c:type="GstVideoOverlayFormatFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="copy" c:identifier="gst_video_overlay_rectangle_copy">
|
|
<doc xml:space="preserve">Makes a copy of @rectangle, so that it is possible to modify it
|
|
(e.g. to change the render co-ordinates or render dimension). The
|
|
actual overlay pixel data buffers contained in the rectangle are not
|
|
copied.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoOverlayRectangle equivalent
|
|
to @rectangle.</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle to copy</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_flags"
|
|
c:identifier="gst_video_overlay_rectangle_get_flags">
|
|
<doc xml:space="preserve">Retrieves the flags associated with a #GstVideoOverlayRectangle.
|
|
This is useful if the caller can handle both premultiplied alpha and
|
|
non premultiplied alpha, for example. By knowing whether the rectangle
|
|
uses premultiplied or not, it can request the pixel data in the format
|
|
it is stored in, to avoid unnecessary conversion.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoOverlayFormatFlags associated with the rectangle.</doc>
|
|
<type name="VideoOverlayFormatFlags"
|
|
c:type="GstVideoOverlayFormatFlags"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_global_alpha"
|
|
c:identifier="gst_video_overlay_rectangle_get_global_alpha">
|
|
<doc xml:space="preserve">Retrieves the global-alpha value associated with a #GstVideoOverlayRectangle.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the global-alpha value associated with the rectangle.</doc>
|
|
<type name="gfloat" c:type="gfloat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixels_argb"
|
|
c:identifier="gst_video_overlay_rectangle_get_pixels_argb">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer holding the ARGB pixel data with
|
|
width and height of the render dimensions as per
|
|
gst_video_overlay_rectangle_get_render_rectangle(). This function does
|
|
not return a reference, the caller should obtain a reference of her own
|
|
with gst_buffer_ref() if needed.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags
|
|
If a global_alpha value != 1 is set for the rectangle, the caller
|
|
should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
|
|
if he wants to apply global-alpha himself. If the flag is not set
|
|
global_alpha is applied internally before returning the pixel-data.</doc>
|
|
<type name="VideoOverlayFormatFlags"
|
|
c:type="GstVideoOverlayFormatFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixels_ayuv"
|
|
c:identifier="gst_video_overlay_rectangle_get_pixels_ayuv">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer holding the AYUV pixel data with
|
|
width and height of the render dimensions as per
|
|
gst_video_overlay_rectangle_get_render_rectangle(). This function does
|
|
not return a reference, the caller should obtain a reference of her own
|
|
with gst_buffer_ref() if needed.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags
|
|
If a global_alpha value != 1 is set for the rectangle, the caller
|
|
should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
|
|
if he wants to apply global-alpha himself. If the flag is not set
|
|
global_alpha is applied internally before returning the pixel-data.</doc>
|
|
<type name="VideoOverlayFormatFlags"
|
|
c:type="GstVideoOverlayFormatFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixels_raw"
|
|
c:identifier="gst_video_overlay_rectangle_get_pixels_raw">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer holding the pixel data with
|
|
format as originally provided and specified in video meta with
|
|
width and height of the render dimensions as per
|
|
gst_video_overlay_rectangle_get_render_rectangle(). This function does
|
|
not return a reference, the caller should obtain a reference of her own
|
|
with gst_buffer_ref() if needed.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags
|
|
If a global_alpha value != 1 is set for the rectangle, the caller
|
|
should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
|
|
if he wants to apply global-alpha himself. If the flag is not set
|
|
global_alpha is applied internally before returning the pixel-data.</doc>
|
|
<type name="VideoOverlayFormatFlags"
|
|
c:type="GstVideoOverlayFormatFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixels_unscaled_argb"
|
|
c:identifier="gst_video_overlay_rectangle_get_pixels_unscaled_argb">
|
|
<doc xml:space="preserve">Retrieves the pixel data as it is. This is useful if the caller can
|
|
do the scaling itself when handling the overlaying. The rectangle will
|
|
need to be scaled to the render dimensions, which can be retrieved using
|
|
gst_video_overlay_rectangle_get_render_rectangle().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer holding the ARGB pixel data with
|
|
#GstVideoMeta set. This function does not return a reference, the caller
|
|
should obtain a reference of her own with gst_buffer_ref() if needed.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags.
|
|
If a global_alpha value != 1 is set for the rectangle, the caller
|
|
should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
|
|
if he wants to apply global-alpha himself. If the flag is not set
|
|
global_alpha is applied internally before returning the pixel-data.</doc>
|
|
<type name="VideoOverlayFormatFlags"
|
|
c:type="GstVideoOverlayFormatFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixels_unscaled_ayuv"
|
|
c:identifier="gst_video_overlay_rectangle_get_pixels_unscaled_ayuv">
|
|
<doc xml:space="preserve">Retrieves the pixel data as it is. This is useful if the caller can
|
|
do the scaling itself when handling the overlaying. The rectangle will
|
|
need to be scaled to the render dimensions, which can be retrieved using
|
|
gst_video_overlay_rectangle_get_render_rectangle().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer holding the AYUV pixel data with
|
|
#GstVideoMeta set. This function does not return a reference, the caller
|
|
should obtain a reference of her own with gst_buffer_ref() if needed.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags.
|
|
If a global_alpha value != 1 is set for the rectangle, the caller
|
|
should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
|
|
if he wants to apply global-alpha himself. If the flag is not set
|
|
global_alpha is applied internally before returning the pixel-data.</doc>
|
|
<type name="VideoOverlayFormatFlags"
|
|
c:type="GstVideoOverlayFormatFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixels_unscaled_raw"
|
|
c:identifier="gst_video_overlay_rectangle_get_pixels_unscaled_raw">
|
|
<doc xml:space="preserve">Retrieves the pixel data as it is. This is useful if the caller can
|
|
do the scaling itself when handling the overlaying. The rectangle will
|
|
need to be scaled to the render dimensions, which can be retrieved using
|
|
gst_video_overlay_rectangle_get_render_rectangle().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer holding the pixel data with
|
|
#GstVideoMeta set. This function does not return a reference, the caller
|
|
should obtain a reference of her own with gst_buffer_ref() if needed.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags.
|
|
If a global_alpha value != 1 is set for the rectangle, the caller
|
|
should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
|
|
if he wants to apply global-alpha himself. If the flag is not set
|
|
global_alpha is applied internally before returning the pixel-data.</doc>
|
|
<type name="VideoOverlayFormatFlags"
|
|
c:type="GstVideoOverlayFormatFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_render_rectangle"
|
|
c:identifier="gst_video_overlay_rectangle_get_render_rectangle">
|
|
<doc xml:space="preserve">Retrieves the render position and render dimension of the overlay
|
|
rectangle on the video.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if valid render dimensions were retrieved.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="render_x"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">address where to store the X render offset</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="render_y"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">address where to store the Y render offset</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="render_width"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">address where to store the render width</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="render_height"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">address where to store the render height</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_seqnum"
|
|
c:identifier="gst_video_overlay_rectangle_get_seqnum">
|
|
<doc xml:space="preserve">Returns the sequence number of this rectangle. Sequence numbers are
|
|
monotonically increasing and unique for overlay compositions and rectangles
|
|
(meaning there will never be a rectangle with the same sequence number as
|
|
a composition).
|
|
|
|
Using the sequence number of a rectangle as an indicator for changed
|
|
pixel-data of a rectangle is dangereous. Some API calls, like e.g.
|
|
gst_video_overlay_rectangle_set_global_alpha(), automatically update
|
|
the per rectangle sequence number, which is misleading for renderers/
|
|
consumers, that handle global-alpha themselves. For them the
|
|
pixel-data returned by gst_video_overlay_rectangle_get_pixels_*()
|
|
wont be different for different global-alpha values. In this case a
|
|
renderer could also use the GstBuffer pointers as a hint for changed
|
|
pixel-data.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the sequence number of @rectangle</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_global_alpha"
|
|
c:identifier="gst_video_overlay_rectangle_set_global_alpha">
|
|
<doc xml:space="preserve">Sets the global alpha value associated with a #GstVideoOverlayRectangle. Per-
|
|
pixel alpha values are multiplied with this value. Valid
|
|
values: 0 <= global_alpha <= 1; 1 to deactivate.
|
|
|
|
@rectangle must be writable, meaning its refcount must be 1. You can
|
|
make the rectangles inside a #GstVideoOverlayComposition writable using
|
|
gst_video_overlay_composition_make_writable() or
|
|
gst_video_overlay_composition_copy().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="global_alpha" transfer-ownership="none">
|
|
<doc xml:space="preserve">Global alpha value (0 to 1.0)</doc>
|
|
<type name="gfloat" c:type="gfloat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_render_rectangle"
|
|
c:identifier="gst_video_overlay_rectangle_set_render_rectangle">
|
|
<doc xml:space="preserve">Sets the render position and dimensions of the rectangle on the video.
|
|
This function is mainly for elements that modify the size of the video
|
|
in some way (e.g. through scaling or cropping) and need to adjust the
|
|
details of any overlays to match the operation that changed the size.
|
|
|
|
@rectangle must be writable, meaning its refcount must be 1. You can
|
|
make the rectangles inside a #GstVideoOverlayComposition writable using
|
|
gst_video_overlay_composition_make_writable() or
|
|
gst_video_overlay_composition_copy().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle"
|
|
c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="render_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">render X position of rectangle on video</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="render_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">render Y position of rectangle on video</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="render_width" transfer-ownership="none">
|
|
<doc xml:space="preserve">render width of rectangle</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="render_height" transfer-ownership="none">
|
|
<doc xml:space="preserve">render height of rectangle</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<bitfield name="VideoPackFlags"
|
|
glib:type-name="GstVideoPackFlags"
|
|
glib:get-type="gst_video_pack_flags_get_type"
|
|
c:type="GstVideoPackFlags">
|
|
<doc xml:space="preserve">The different flags that can be used when packing and unpacking.</doc>
|
|
<member name="none"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_PACK_FLAG_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">No flag</doc>
|
|
</member>
|
|
<member name="truncate_range"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE"
|
|
glib:nick="truncate-range">
|
|
<doc xml:space="preserve">When the source has a smaller depth
|
|
than the target format, set the least significant bits of the target
|
|
to 0. This is likely sightly faster but less accurate. When this flag
|
|
is not specified, the most significant bits of the source are duplicated
|
|
in the least significant bits of the destination.</doc>
|
|
</member>
|
|
<member name="interlaced"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_PACK_FLAG_INTERLACED"
|
|
glib:nick="interlaced">
|
|
<doc xml:space="preserve">The source is interlaced. The unpacked
|
|
format will be interlaced as well with each line containing
|
|
information from alternating fields. (Since 1.2)</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="VideoPrimariesMode"
|
|
version="1.6"
|
|
glib:type-name="GstVideoPrimariesMode"
|
|
glib:get-type="gst_video_primaries_mode_get_type"
|
|
c:type="GstVideoPrimariesMode">
|
|
<doc xml:space="preserve">Different primaries conversion modes</doc>
|
|
<member name="none"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_PRIMARIES_MODE_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">disable conversion between primaries</doc>
|
|
</member>
|
|
<member name="merge_only"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_PRIMARIES_MODE_MERGE_ONLY"
|
|
glib:nick="merge-only">
|
|
<doc xml:space="preserve">do conversion between primaries only
|
|
when it can be merged with color matrix conversion.</doc>
|
|
</member>
|
|
<member name="fast"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_PRIMARIES_MODE_FAST"
|
|
glib:nick="fast">
|
|
<doc xml:space="preserve">fast conversion between primaries</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="VideoRectangle" c:type="GstVideoRectangle">
|
|
<doc xml:space="preserve">Helper structure representing a rectangular area.</doc>
|
|
<field name="x" writable="1">
|
|
<doc xml:space="preserve">X coordinate of rectangle's top-left point</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="y" writable="1">
|
|
<doc xml:space="preserve">Y coordinate of rectangle's top-left point</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="w" writable="1">
|
|
<doc xml:space="preserve">width of the rectangle</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="h" writable="1">
|
|
<doc xml:space="preserve">height of the rectangle</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
</record>
|
|
<record name="VideoRegionOfInterestMeta"
|
|
c:type="GstVideoRegionOfInterestMeta">
|
|
<doc xml:space="preserve">Extra buffer metadata describing an image region of interest</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="roi_type" writable="1">
|
|
<doc xml:space="preserve">GQuark describing the semantic of the Roi (f.i. a face, a pedestrian)</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</field>
|
|
<field name="id" writable="1">
|
|
<doc xml:space="preserve">identifier of this particular ROI</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="parent_id" writable="1">
|
|
<doc xml:space="preserve">identifier of its parent ROI, used f.i. for ROI hierarchisation.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="x" writable="1">
|
|
<doc xml:space="preserve">x component of upper-left corner</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="y" writable="1">
|
|
<doc xml:space="preserve">y component of upper-left corner</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="w" writable="1">
|
|
<doc xml:space="preserve">bounding box width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="h" writable="1">
|
|
<doc xml:space="preserve">bounding box height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="params" writable="1">
|
|
<doc xml:space="preserve">list of #GstStructure containing element-specific params for downstream, see gst_video_region_of_interest_meta_add_params(). (Since: 1.14)</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</type>
|
|
</field>
|
|
<method name="add_param"
|
|
c:identifier="gst_video_region_of_interest_meta_add_param"
|
|
version="1.14">
|
|
<doc xml:space="preserve">Attach element-specific parameters to @meta meant to be used by downstream
|
|
elements which may handle this ROI.
|
|
The name of @s is used to identify the element these parameters are meant for.
|
|
|
|
This is typically used to tell encoders how they should encode this specific region.
|
|
For example, a structure named "roi/x264enc" could be used to give the
|
|
QP offsets this encoder should use when encoding the region described in @meta.
|
|
Multiple parameters can be defined for the same meta so different encoders
|
|
can be supported by cross platform applications).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoRegionOfInterestMeta</doc>
|
|
<type name="VideoRegionOfInterestMeta"
|
|
c:type="GstVideoRegionOfInterestMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="s" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_param"
|
|
c:identifier="gst_video_region_of_interest_meta_get_param"
|
|
version="1.14">
|
|
<doc xml:space="preserve">Retrieve the parameter for @meta having @name as structure name,
|
|
or %NULL if there is none.</doc>
|
|
<doc-version xml:space="preserve">
|
|
See also: gst_video_region_of_interest_meta_add_param()</doc-version>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoRegionOfInterestMeta</doc>
|
|
<type name="VideoRegionOfInterestMeta"
|
|
c:type="GstVideoRegionOfInterestMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="get_info"
|
|
c:identifier="gst_video_region_of_interest_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<record name="VideoResampler" c:type="GstVideoResampler" version="1.6">
|
|
<doc xml:space="preserve">#GstVideoResampler is a structure which holds the information
|
|
required to perform various kinds of resampling filtering.</doc>
|
|
<field name="in_size" writable="1">
|
|
<doc xml:space="preserve">the input size</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="out_size" writable="1">
|
|
<doc xml:space="preserve">the output size</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="max_taps" writable="1">
|
|
<doc xml:space="preserve">the maximum number of taps</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="n_phases" writable="1">
|
|
<doc xml:space="preserve">the number of phases</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="offset" writable="1">
|
|
<doc xml:space="preserve">array with the source offset for each output element</doc>
|
|
<type name="guint32" c:type="guint32*"/>
|
|
</field>
|
|
<field name="phase" writable="1">
|
|
<doc xml:space="preserve">array with the phase to use for each output element</doc>
|
|
<type name="guint32" c:type="guint32*"/>
|
|
</field>
|
|
<field name="n_taps" writable="1">
|
|
<doc xml:space="preserve">array with new number of taps for each phase</doc>
|
|
<type name="guint32" c:type="guint32*"/>
|
|
</field>
|
|
<field name="taps" writable="1">
|
|
<doc xml:space="preserve">the taps for all phases</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<method name="clear"
|
|
c:identifier="gst_video_resampler_clear"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Clear a previously initialized #GstVideoResampler @resampler.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="resampler" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoResampler</doc>
|
|
<type name="VideoResampler" c:type="GstVideoResampler*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init" c:identifier="gst_video_resampler_init">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="resampler" transfer-ownership="none">
|
|
<type name="VideoResampler" c:type="GstVideoResampler*"/>
|
|
</instance-parameter>
|
|
<parameter name="method" transfer-ownership="none">
|
|
<type name="VideoResamplerMethod"
|
|
c:type="GstVideoResamplerMethod"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<type name="VideoResamplerFlags" c:type="GstVideoResamplerFlags"/>
|
|
</parameter>
|
|
<parameter name="n_phases" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="n_taps" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="shift" transfer-ownership="none">
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="in_size" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="out_size" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="options" transfer-ownership="none">
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<bitfield name="VideoResamplerFlags"
|
|
version="1.6"
|
|
glib:type-name="GstVideoResamplerFlags"
|
|
glib:get-type="gst_video_resampler_flags_get_type"
|
|
c:type="GstVideoResamplerFlags">
|
|
<doc xml:space="preserve">Different resampler flags.</doc>
|
|
<member name="none"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_RESAMPLER_FLAG_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="half_taps"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS"
|
|
glib:nick="half-taps">
|
|
<doc xml:space="preserve">when no taps are given, half the
|
|
number of calculated taps. This can be used when making scalers
|
|
for the different fields of an interlaced picture. Since 1.10</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="VideoResamplerMethod"
|
|
version="1.6"
|
|
glib:type-name="GstVideoResamplerMethod"
|
|
glib:get-type="gst_video_resampler_method_get_type"
|
|
c:type="GstVideoResamplerMethod">
|
|
<doc xml:space="preserve">Different subsampling and upsampling methods</doc>
|
|
<member name="nearest"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_RESAMPLER_METHOD_NEAREST"
|
|
glib:nick="nearest">
|
|
<doc xml:space="preserve">Duplicates the samples when
|
|
upsampling and drops when downsampling</doc>
|
|
</member>
|
|
<member name="linear"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_RESAMPLER_METHOD_LINEAR"
|
|
glib:nick="linear">
|
|
<doc xml:space="preserve">Uses linear interpolation to reconstruct
|
|
missing samples and averaging to downsample</doc>
|
|
</member>
|
|
<member name="cubic"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_RESAMPLER_METHOD_CUBIC"
|
|
glib:nick="cubic">
|
|
<doc xml:space="preserve">Uses cubic interpolation</doc>
|
|
</member>
|
|
<member name="sinc"
|
|
value="3"
|
|
c:identifier="GST_VIDEO_RESAMPLER_METHOD_SINC"
|
|
glib:nick="sinc">
|
|
<doc xml:space="preserve">Uses sinc interpolation</doc>
|
|
</member>
|
|
<member name="lanczos"
|
|
value="4"
|
|
c:identifier="GST_VIDEO_RESAMPLER_METHOD_LANCZOS"
|
|
glib:nick="lanczos">
|
|
<doc xml:space="preserve">Uses lanczos interpolation</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="VideoScaler" c:type="GstVideoScaler" disguised="1">
|
|
<doc xml:space="preserve">#GstVideoScaler is a utility object for rescaling and resampling
|
|
video frames using various interpolation / sampling methods.</doc>
|
|
<method name="2d" c:identifier="gst_video_scaler_2d">
|
|
<doc xml:space="preserve">Scale a rectangle of pixels in @src with @src_stride to @dest with
|
|
@dest_stride using the horizontal scaler @hscaler and the vertical
|
|
scaler @vscale.
|
|
|
|
One or both of @hscale and @vscale can be NULL to only perform scaling in
|
|
one dimension or do a copy without scaling.
|
|
|
|
@x and @y are the coordinates in the destination image to process.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="hscale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a horzontal #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</instance-parameter>
|
|
<parameter name="vscale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a vertical #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat for @srcs and @dest</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="src"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">source pixels</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="src_stride" transfer-ownership="none">
|
|
<doc xml:space="preserve">source pixels stride</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="dest"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">destination pixels</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="dest_stride" transfer-ownership="none">
|
|
<doc xml:space="preserve">destination pixels stride</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the horizontal destination offset</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the vertical destination offset</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of output pixels to scale</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of output lines to scale</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="combine_packed_YUV"
|
|
c:identifier="gst_video_scaler_combine_packed_YUV"
|
|
version="1.6"
|
|
introspectable="0">
|
|
<doc xml:space="preserve">Combine a scaler for Y and UV into one scaler for the packed @format.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a new horizontal videoscaler for @format.</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="y_scale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a scaler for the Y component</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</instance-parameter>
|
|
<parameter name="uv_scale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a scaler for the U and V components</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</parameter>
|
|
<parameter name="in_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the input video format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="out_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the output video format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_video_scaler_free">
|
|
<doc xml:space="preserve">Free a previously allocated #GstVideoScaler @scale.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="scale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_coeff" c:identifier="gst_video_scaler_get_coeff">
|
|
<doc xml:space="preserve">For a given pixel at @out_offset, get the first required input pixel at
|
|
@in_offset and the @n_taps filter coefficients.
|
|
|
|
Note that for interlaced content, @in_offset needs to be incremented with
|
|
2 to get the next input line.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">an array of @n_tap gdouble values with filter coefficients.</doc>
|
|
<type name="gdouble" c:type="const gdouble*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="scale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</instance-parameter>
|
|
<parameter name="out_offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">an output offset</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="in_offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">result input offset</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="n_taps" transfer-ownership="none">
|
|
<doc xml:space="preserve">result n_taps</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_max_taps" c:identifier="gst_video_scaler_get_max_taps">
|
|
<doc xml:space="preserve">Get the maximum number of taps for @scale.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the maximum number of taps</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="scale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="horizontal" c:identifier="gst_video_scaler_horizontal">
|
|
<doc xml:space="preserve">Horizontally scale the pixels in @src to @dest, starting from @dest_offset
|
|
for @width samples.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="scale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat for @src and @dest</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="src"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">source pixels</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="dest"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">destination pixels</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="dest_offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the horizontal destination offset</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of pixels to scale</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="vertical" c:identifier="gst_video_scaler_vertical">
|
|
<doc xml:space="preserve">Vertically combine @width pixels in the lines in @src_lines to @dest.
|
|
@dest is the location of the target line at @dest_offset and
|
|
@srcs are the input lines for @dest_offset, as obtained with
|
|
gst_video_scaler_get_info().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="scale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat for @srcs and @dest</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="src_lines"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">source pixels lines</doc>
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
<parameter name="dest"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">destination pixels</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="dest_offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the vertical destination offset</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of pixels to scale</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="new"
|
|
c:identifier="gst_video_scaler_new"
|
|
introspectable="0">
|
|
<doc xml:space="preserve">Make a new @method video scaler. @in_size source lines/pixels will
|
|
be scaled to @out_size destination lines/pixels.
|
|
|
|
@n_taps specifies the amount of pixels to use from the source for one output
|
|
pixel. If n_taps is 0, this function chooses a good value automatically based
|
|
on the @method and @in_size/@out_size.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a #GstVideoResample</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="method" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoResamplerMethod</doc>
|
|
<type name="VideoResamplerMethod"
|
|
c:type="GstVideoResamplerMethod"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoScalerFlags</doc>
|
|
<type name="VideoScalerFlags" c:type="GstVideoScalerFlags"/>
|
|
</parameter>
|
|
<parameter name="n_taps" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of taps to use</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="in_size" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of source elements</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="out_size" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of destination elements</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="options"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">extra options</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<bitfield name="VideoScalerFlags"
|
|
glib:type-name="GstVideoScalerFlags"
|
|
glib:get-type="gst_video_scaler_flags_get_type"
|
|
c:type="GstVideoScalerFlags">
|
|
<doc xml:space="preserve">Different scale flags.</doc>
|
|
<member name="none"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_SCALER_FLAG_NONE"
|
|
glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="interlaced"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_SCALER_FLAG_INTERLACED"
|
|
glib:nick="interlaced">
|
|
<doc xml:space="preserve">Set up a scaler for interlaced content</doc>
|
|
</member>
|
|
</bitfield>
|
|
<class name="VideoSink"
|
|
c:symbol-prefix="video_sink"
|
|
c:type="GstVideoSink"
|
|
parent="GstBase.BaseSink"
|
|
glib:type-name="GstVideoSink"
|
|
glib:get-type="gst_video_sink_get_type"
|
|
glib:type-struct="VideoSinkClass">
|
|
<doc xml:space="preserve">Provides useful functions and a base class for video sinks.
|
|
|
|
GstVideoSink will configure the default base sink to drop frames that
|
|
arrive later than 20ms as this is considered the default threshold for
|
|
observing out-of-sync frames.</doc>
|
|
<function name="center_rect" c:identifier="gst_video_sink_center_rect">
|
|
<doc xml:space="preserve">Takes @src rectangle and position it at the center of @dst rectangle with or
|
|
without @scaling. It handles clipping if the @src rectangle is bigger than
|
|
the @dst one and @scaling is set to FALSE.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoRectangle describing the source area</doc>
|
|
<type name="VideoRectangle" c:type="GstVideoRectangle"/>
|
|
</parameter>
|
|
<parameter name="dst" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoRectangle describing the destination area</doc>
|
|
<type name="VideoRectangle" c:type="GstVideoRectangle"/>
|
|
</parameter>
|
|
<parameter name="result" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to a #GstVideoRectangle which will receive the result area</doc>
|
|
<type name="VideoRectangle" c:type="GstVideoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="scaling" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #gboolean indicating if scaling should be applied or not</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="show_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_sink" transfer-ownership="none">
|
|
<type name="VideoSink" c:type="GstVideoSink*"/>
|
|
</instance-parameter>
|
|
<parameter name="buf" transfer-ownership="none">
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<property name="show-preroll-frame"
|
|
writable="1"
|
|
construct="1"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether to show video frames during preroll. If set to %FALSE, video
|
|
frames will only be rendered in PLAYING state.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<field name="element">
|
|
<type name="GstBase.BaseSink" c:type="GstBaseSink"/>
|
|
</field>
|
|
<field name="width">
|
|
<doc xml:space="preserve">video width (derived class needs to set this)</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="height">
|
|
<doc xml:space="preserve">video height (derived class needs to set this)</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="VideoSinkPrivate" c:type="GstVideoSinkPrivate*"/>
|
|
</field>
|
|
<field name="_gst_reserved" 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="VideoSinkClass"
|
|
c:type="GstVideoSinkClass"
|
|
glib:is-gtype-struct-for="VideoSink">
|
|
<doc xml:space="preserve">The video sink class structure. Derived classes should override the
|
|
@show_frame virtual function.</doc>
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">the parent class structure</doc>
|
|
<type name="GstBase.BaseSinkClass" c:type="GstBaseSinkClass"/>
|
|
</field>
|
|
<field name="show_frame">
|
|
<callback name="show_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_sink" transfer-ownership="none">
|
|
<type name="VideoSink" c:type="GstVideoSink*"/>
|
|
</parameter>
|
|
<parameter name="buf" transfer-ownership="none">
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="VideoSinkPrivate" c:type="GstVideoSinkPrivate" disguised="1">
|
|
</record>
|
|
<enumeration name="VideoTileMode"
|
|
glib:type-name="GstVideoTileMode"
|
|
glib:get-type="gst_video_tile_mode_get_type"
|
|
c:type="GstVideoTileMode">
|
|
<doc xml:space="preserve">Enum value describing the available tiling modes.</doc>
|
|
<member name="unknown"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_TILE_MODE_UNKNOWN"
|
|
glib:nick="unknown">
|
|
<doc xml:space="preserve">Unknown or unset tile mode</doc>
|
|
</member>
|
|
<member name="zflipz_2x2"
|
|
value="65536"
|
|
c:identifier="GST_VIDEO_TILE_MODE_ZFLIPZ_2X2"
|
|
glib:nick="zflipz-2x2">
|
|
<doc xml:space="preserve">Every four adjacent blocks - two
|
|
horizontally and two vertically are grouped together and are located
|
|
in memory in Z or flipped Z order. In case of odd rows, the last row
|
|
of blocks is arranged in linear order.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="VideoTileType"
|
|
glib:type-name="GstVideoTileType"
|
|
glib:get-type="gst_video_tile_type_get_type"
|
|
c:type="GstVideoTileType">
|
|
<doc xml:space="preserve">Enum value describing the most common tiling types.</doc>
|
|
<member name="indexed"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_TILE_TYPE_INDEXED"
|
|
glib:nick="indexed">
|
|
<doc xml:space="preserve">Tiles are indexed. Use
|
|
gst_video_tile_get_index () to retrieve the tile at the requested
|
|
coordinates.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="VideoTimeCode"
|
|
c:type="GstVideoTimeCode"
|
|
version="1.10"
|
|
glib:type-name="GstVideoTimeCode"
|
|
glib:get-type="gst_video_time_code_get_type"
|
|
c:symbol-prefix="video_time_code">
|
|
<doc xml:space="preserve">@field_count must be 0 for progressive video and 1 or 2 for interlaced.
|
|
|
|
A representation of a SMPTE time code.
|
|
|
|
@hours must be positive and less than 24. Will wrap around otherwise.
|
|
@minutes and @seconds must be positive and less than 60.
|
|
@frames must be less than or equal to @config.fps_n / @config.fps_d
|
|
These values are *NOT* automatically normalized.</doc>
|
|
<field name="config" writable="1">
|
|
<doc xml:space="preserve">the corresponding #GstVideoTimeCodeConfig</doc>
|
|
<type name="VideoTimeCodeConfig" c:type="GstVideoTimeCodeConfig"/>
|
|
</field>
|
|
<field name="hours" writable="1">
|
|
<doc xml:space="preserve">the hours field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="minutes" writable="1">
|
|
<doc xml:space="preserve">the minutes field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="seconds" writable="1">
|
|
<doc xml:space="preserve">the seconds field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="frames" writable="1">
|
|
<doc xml:space="preserve">the frames field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="field_count" writable="1">
|
|
<doc xml:space="preserve">Interlaced video field count</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<constructor name="new"
|
|
c:identifier="gst_video_time_code_new"
|
|
version="1.10">
|
|
<doc xml:space="preserve">@field_count is 0 for progressive, 1 or 2 for interlaced.
|
|
@latest_daiy_jam reference is stolen from caller.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoTimeCode with the given values.
|
|
The values are not checked for being in a valid range. To see if your
|
|
timecode actually has valid content, use #gst_video_time_code_is_valid.</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fps_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="fps_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="latest_daily_jam" transfer-ownership="none">
|
|
<doc xml:space="preserve">The latest daily jam of the #GstVideoTimeCode</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTimeCodeFlags</doc>
|
|
<type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
|
|
</parameter>
|
|
<parameter name="hours" transfer-ownership="none">
|
|
<doc xml:space="preserve">the hours field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="minutes" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minutes field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="seconds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the seconds field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="frames" transfer-ownership="none">
|
|
<doc xml:space="preserve">the frames field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="field_count" transfer-ownership="none">
|
|
<doc xml:space="preserve">Interlaced video field count</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_empty"
|
|
c:identifier="gst_video_time_code_new_empty"
|
|
version="1.10">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new empty #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_from_date_time"
|
|
c:identifier="gst_video_time_code_new_from_date_time"
|
|
version="1.12">
|
|
<doc xml:space="preserve">The resulting config->latest_daily_jam is set to
|
|
midnight, and timecode is set to the given time.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GVideoTimeCode representation of @dt.</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fps_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="fps_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="dt" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GDateTime to convert</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTimeCodeFlags</doc>
|
|
<type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
|
|
</parameter>
|
|
<parameter name="field_count" transfer-ownership="none">
|
|
<doc xml:space="preserve">Interlaced video field count</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_string"
|
|
c:identifier="gst_video_time_code_new_from_string"
|
|
version="1.12">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoTimeCode from the given string</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="tc_str" transfer-ownership="none">
|
|
<doc xml:space="preserve">The string that represents the #GstVideoTimeCode</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="add_frames"
|
|
c:identifier="gst_video_time_code_add_frames"
|
|
version="1.10">
|
|
<doc xml:space="preserve">Adds or subtracts @frames amount of frames to @tc. tc needs to
|
|
contain valid data, as verified by #gst_video_time_code_is_valid.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a valid #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
<parameter name="frames" transfer-ownership="none">
|
|
<doc xml:space="preserve">How many frames to add or subtract</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_interval"
|
|
c:identifier="gst_video_time_code_add_interval"
|
|
version="1.12">
|
|
<doc xml:space="preserve">This makes a component-wise addition of @tc_inter to @tc. For example,
|
|
adding ("01:02:03:04", "00:01:00:00") will return "01:03:03:04".
|
|
When it comes to drop-frame timecodes,
|
|
adding ("00:00:00;00", "00:01:00:00") will return "00:01:00;02"
|
|
because of drop-frame oddities. However,
|
|
adding ("00:09:00;02", "00:01:00:00") will return "00:10:00;00"
|
|
because this time we can have an exact minute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A new #GstVideoTimeCode with @tc_inter added.</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstVideoTimeCode where the diff should be added. This
|
|
must contain valid timecode values.</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
<parameter name="tc_inter" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstVideoTimeCodeInterval to add to @tc.
|
|
The interval must contain valid values, except that for drop-frame
|
|
timecode, it may also contain timecodes which would normally
|
|
be dropped. These are then corrected to the next reasonable timecode.</doc>
|
|
<type name="VideoTimeCodeInterval"
|
|
c:type="const GstVideoTimeCodeInterval*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="clear"
|
|
c:identifier="gst_video_time_code_clear"
|
|
version="1.10">
|
|
<doc xml:space="preserve">Initializes @tc with empty/zero/NULL values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="compare"
|
|
c:identifier="gst_video_time_code_compare"
|
|
version="1.10">
|
|
<doc xml:space="preserve">Compares @tc1 and @tc2 . If both have latest daily jam information, it is
|
|
taken into account. Otherwise, it is assumed that the daily jam of both
|
|
@tc1 and @tc2 was at the same time. Both time codes must be valid.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">1 if @tc1 is after @tc2, -1 if @tc1 is before @tc2, 0 otherwise.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
<parameter name="tc2" transfer-ownership="none">
|
|
<doc xml:space="preserve">another #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy"
|
|
c:identifier="gst_video_time_code_copy"
|
|
version="1.10">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoTimeCode with the same values as @tc .</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="frames_since_daily_jam"
|
|
c:identifier="gst_video_time_code_frames_since_daily_jam"
|
|
version="1.10">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">how many frames have passed since the daily jam of @tc .</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a valid #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free"
|
|
c:identifier="gst_video_time_code_free"
|
|
version="1.10">
|
|
<doc xml:space="preserve">Frees @tc .</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="increment_frame"
|
|
c:identifier="gst_video_time_code_increment_frame"
|
|
version="1.10">
|
|
<doc xml:space="preserve">Adds one frame to @tc .</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a valid #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init"
|
|
c:identifier="gst_video_time_code_init"
|
|
version="1.10">
|
|
<doc xml:space="preserve">@field_count is 0 for progressive, 1 or 2 for interlaced.
|
|
@latest_daiy_jam reference is stolen from caller.
|
|
|
|
Initializes @tc with the given values.
|
|
The values are not checked for being in a valid range. To see if your
|
|
timecode actually has valid content, use #gst_video_time_code_is_valid.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
<parameter name="fps_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="fps_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="latest_daily_jam" transfer-ownership="none">
|
|
<doc xml:space="preserve">The latest daily jam of the #GstVideoTimeCode</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTimeCodeFlags</doc>
|
|
<type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
|
|
</parameter>
|
|
<parameter name="hours" transfer-ownership="none">
|
|
<doc xml:space="preserve">the hours field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="minutes" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minutes field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="seconds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the seconds field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="frames" transfer-ownership="none">
|
|
<doc xml:space="preserve">the frames field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="field_count" transfer-ownership="none">
|
|
<doc xml:space="preserve">Interlaced video field count</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init_from_date_time"
|
|
c:identifier="gst_video_time_code_init_from_date_time"
|
|
version="1.12">
|
|
<doc xml:space="preserve">The resulting config->latest_daily_jam is set to
|
|
midnight, and timecode is set to the given time.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
<parameter name="fps_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="fps_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="dt" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GDateTime to convert</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTimeCodeFlags</doc>
|
|
<type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
|
|
</parameter>
|
|
<parameter name="field_count" transfer-ownership="none">
|
|
<doc xml:space="preserve">Interlaced video field count</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_valid"
|
|
c:identifier="gst_video_time_code_is_valid"
|
|
version="1.10">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether @tc is a valid timecode (supported frame rate,
|
|
hours/minutes/seconds/frames not overflowing)</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTimeCode to check</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="nsec_since_daily_jam"
|
|
c:identifier="gst_video_time_code_nsec_since_daily_jam"
|
|
version="1.10">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">how many nsec have passed since the daily jam of @tc .</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a valid #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_date_time"
|
|
c:identifier="gst_video_time_code_to_date_time"
|
|
version="1.10">
|
|
<doc xml:space="preserve">The @tc.config->latest_daily_jam is required to be non-NULL.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GDateTime representation of @tc.</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstVideoTimeCode to convert</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string"
|
|
c:identifier="gst_video_time_code_to_string"
|
|
version="1.10">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the SMPTE ST 2059-1:2015 string representation of @tc. That will
|
|
take the form hh:mm:ss:ff . The last separator (between seconds and frames)
|
|
may vary:
|
|
|
|
';' for drop-frame, non-interlaced content and for drop-frame interlaced
|
|
field 2
|
|
',' for drop-frame interlaced field 1
|
|
':' for non-drop-frame, non-interlaced content and for non-drop-frame
|
|
interlaced field 2
|
|
'.' for non-drop-frame interlaced field 1</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTimeCode to convert</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="VideoTimeCodeConfig"
|
|
c:type="GstVideoTimeCodeConfig"
|
|
version="1.10">
|
|
<doc xml:space="preserve">Supported frame rates: 30000/1001, 60000/1001 (both with and without drop
|
|
frame), and integer frame rates e.g. 25/1, 30/1, 50/1, 60/1.
|
|
|
|
The configuration of the time code.</doc>
|
|
<field name="fps_n" writable="1">
|
|
<doc xml:space="preserve">Numerator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="fps_d" writable="1">
|
|
<doc xml:space="preserve">Denominator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">the corresponding #GstVideoTimeCodeFlags</doc>
|
|
<type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
|
|
</field>
|
|
<field name="latest_daily_jam" writable="1">
|
|
<doc xml:space="preserve">The latest daily jam information, if present, or NULL</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</field>
|
|
</record>
|
|
<bitfield name="VideoTimeCodeFlags"
|
|
version="1.10"
|
|
c:type="GstVideoTimeCodeFlags">
|
|
<doc xml:space="preserve">Flags related to the time code information.
|
|
For drop frame, only 30000/1001 and 60000/1001 frame rates are supported.</doc>
|
|
<member name="none"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_TIME_CODE_FLAGS_NONE">
|
|
<doc xml:space="preserve">No flags</doc>
|
|
</member>
|
|
<member name="drop_frame"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME">
|
|
<doc xml:space="preserve">Whether we have drop frame rate</doc>
|
|
</member>
|
|
<member name="interlaced"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_TIME_CODE_FLAGS_INTERLACED">
|
|
<doc xml:space="preserve">Whether we have interlaced video</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="VideoTimeCodeInterval"
|
|
c:type="GstVideoTimeCodeInterval"
|
|
version="1.12"
|
|
glib:type-name="GstVideoTimeCodeInterval"
|
|
glib:get-type="gst_video_time_code_interval_get_type"
|
|
c:symbol-prefix="video_time_code_interval">
|
|
<doc xml:space="preserve">A representation of a difference between two #GstVideoTimeCode instances.
|
|
Will not necessarily correspond to a real timecode (e.g. 00:00:10;00)</doc>
|
|
<field name="hours" writable="1">
|
|
<doc xml:space="preserve">the hours field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="minutes" writable="1">
|
|
<doc xml:space="preserve">the minutes field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="seconds" writable="1">
|
|
<doc xml:space="preserve">the seconds field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="frames" writable="1">
|
|
<doc xml:space="preserve">the frames field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<constructor name="new"
|
|
c:identifier="gst_video_time_code_interval_new"
|
|
version="1.12">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoTimeCodeInterval with the given values.</doc>
|
|
<type name="VideoTimeCodeInterval"
|
|
c:type="GstVideoTimeCodeInterval*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="hours" transfer-ownership="none">
|
|
<doc xml:space="preserve">the hours field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="minutes" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minutes field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="seconds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the seconds field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="frames" transfer-ownership="none">
|
|
<doc xml:space="preserve">the frames field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_string"
|
|
c:identifier="gst_video_time_code_interval_new_from_string"
|
|
version="1.12">
|
|
<doc xml:space="preserve">@tc_inter_str must only have ":" as separators.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoTimeCodeInterval from the given string</doc>
|
|
<type name="VideoTimeCodeInterval"
|
|
c:type="GstVideoTimeCodeInterval*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="tc_inter_str" transfer-ownership="none">
|
|
<doc xml:space="preserve">The string that represents the #GstVideoTimeCodeInterval</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="clear"
|
|
c:identifier="gst_video_time_code_interval_clear"
|
|
version="1.12">
|
|
<doc xml:space="preserve">Initializes @tc with empty/zero/NULL values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCodeInterval</doc>
|
|
<type name="VideoTimeCodeInterval"
|
|
c:type="GstVideoTimeCodeInterval*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy"
|
|
c:identifier="gst_video_time_code_interval_copy"
|
|
version="1.12">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoTimeCodeInterval with the same values as @tc .</doc>
|
|
<type name="VideoTimeCodeInterval"
|
|
c:type="GstVideoTimeCodeInterval*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCodeInterval</doc>
|
|
<type name="VideoTimeCodeInterval"
|
|
c:type="const GstVideoTimeCodeInterval*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free"
|
|
c:identifier="gst_video_time_code_interval_free"
|
|
version="1.12">
|
|
<doc xml:space="preserve">Frees @tc .</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCodeInterval</doc>
|
|
<type name="VideoTimeCodeInterval"
|
|
c:type="GstVideoTimeCodeInterval*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init"
|
|
c:identifier="gst_video_time_code_interval_init"
|
|
version="1.12">
|
|
<doc xml:space="preserve">Initializes @tc with the given values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCodeInterval</doc>
|
|
<type name="VideoTimeCodeInterval"
|
|
c:type="GstVideoTimeCodeInterval*"/>
|
|
</instance-parameter>
|
|
<parameter name="hours" transfer-ownership="none">
|
|
<doc xml:space="preserve">the hours field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="minutes" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minutes field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="seconds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the seconds field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="frames" transfer-ownership="none">
|
|
<doc xml:space="preserve">the frames field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="VideoTimeCodeMeta"
|
|
c:type="GstVideoTimeCodeMeta"
|
|
version="1.10">
|
|
<doc xml:space="preserve">Extra buffer metadata describing the GstVideoTimeCode of the frame.
|
|
|
|
Each frame is assumed to have its own timecode, i.e. they are not
|
|
automatically incremented/interpolated.</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="tc" writable="1">
|
|
<doc xml:space="preserve">the GstVideoTimeCode to attach</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode"/>
|
|
</field>
|
|
<function name="get_info"
|
|
c:identifier="gst_video_time_code_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<enumeration name="VideoTransferFunction"
|
|
glib:type-name="GstVideoTransferFunction"
|
|
glib:get-type="gst_video_transfer_function_get_type"
|
|
c:type="GstVideoTransferFunction">
|
|
<doc xml:space="preserve">The video transfer function defines the formula for converting between
|
|
non-linear RGB (R'G'B') and linear RGB</doc>
|
|
<member name="unknown"
|
|
value="0"
|
|
c:identifier="GST_VIDEO_TRANSFER_UNKNOWN"
|
|
glib:nick="unknown">
|
|
<doc xml:space="preserve">unknown transfer function</doc>
|
|
</member>
|
|
<member name="gamma10"
|
|
value="1"
|
|
c:identifier="GST_VIDEO_TRANSFER_GAMMA10"
|
|
glib:nick="gamma10">
|
|
<doc xml:space="preserve">linear RGB, gamma 1.0 curve</doc>
|
|
</member>
|
|
<member name="gamma18"
|
|
value="2"
|
|
c:identifier="GST_VIDEO_TRANSFER_GAMMA18"
|
|
glib:nick="gamma18">
|
|
<doc xml:space="preserve">Gamma 1.8 curve</doc>
|
|
</member>
|
|
<member name="gamma20"
|
|
value="3"
|
|
c:identifier="GST_VIDEO_TRANSFER_GAMMA20"
|
|
glib:nick="gamma20">
|
|
<doc xml:space="preserve">Gamma 2.0 curve</doc>
|
|
</member>
|
|
<member name="gamma22"
|
|
value="4"
|
|
c:identifier="GST_VIDEO_TRANSFER_GAMMA22"
|
|
glib:nick="gamma22">
|
|
<doc xml:space="preserve">Gamma 2.2 curve</doc>
|
|
</member>
|
|
<member name="bt709"
|
|
value="5"
|
|
c:identifier="GST_VIDEO_TRANSFER_BT709"
|
|
glib:nick="bt709">
|
|
<doc xml:space="preserve">Gamma 2.2 curve with a linear segment in the lower
|
|
range</doc>
|
|
</member>
|
|
<member name="smpte240m"
|
|
value="6"
|
|
c:identifier="GST_VIDEO_TRANSFER_SMPTE240M"
|
|
glib:nick="smpte240m">
|
|
<doc xml:space="preserve">Gamma 2.2 curve with a linear segment in the
|
|
lower range</doc>
|
|
</member>
|
|
<member name="srgb"
|
|
value="7"
|
|
c:identifier="GST_VIDEO_TRANSFER_SRGB"
|
|
glib:nick="srgb">
|
|
<doc xml:space="preserve">Gamma 2.4 curve with a linear segment in the lower
|
|
range</doc>
|
|
</member>
|
|
<member name="gamma28"
|
|
value="8"
|
|
c:identifier="GST_VIDEO_TRANSFER_GAMMA28"
|
|
glib:nick="gamma28">
|
|
<doc xml:space="preserve">Gamma 2.8 curve</doc>
|
|
</member>
|
|
<member name="log100"
|
|
value="9"
|
|
c:identifier="GST_VIDEO_TRANSFER_LOG100"
|
|
glib:nick="log100">
|
|
<doc xml:space="preserve">Logarithmic transfer characteristic
|
|
100:1 range</doc>
|
|
</member>
|
|
<member name="log316"
|
|
value="10"
|
|
c:identifier="GST_VIDEO_TRANSFER_LOG316"
|
|
glib:nick="log316">
|
|
<doc xml:space="preserve">Logarithmic transfer characteristic
|
|
316.22777:1 range</doc>
|
|
</member>
|
|
<member name="bt2020_12"
|
|
value="11"
|
|
c:identifier="GST_VIDEO_TRANSFER_BT2020_12"
|
|
glib:nick="bt2020-12">
|
|
<doc xml:space="preserve">Gamma 2.2 curve with a linear segment in the lower
|
|
range. Used for BT.2020 with 12 bits per
|
|
component. Since: 1.6</doc>
|
|
</member>
|
|
<member name="adobergb"
|
|
value="12"
|
|
c:identifier="GST_VIDEO_TRANSFER_ADOBERGB"
|
|
glib:nick="adobergb">
|
|
<doc xml:space="preserve">Gamma 2.19921875. Since: 1.8</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function name="buffer_add_video_affine_transformation_meta"
|
|
c:identifier="gst_buffer_add_video_affine_transformation_meta"
|
|
version="1.8">
|
|
<doc xml:space="preserve">Attaches GstVideoAffineTransformationMeta metadata to @buffer with
|
|
the given parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoAffineTransformationMeta on @buffer.</doc>
|
|
<type name="VideoAffineTransformationMeta"
|
|
c:type="GstVideoAffineTransformationMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_gl_texture_upload_meta"
|
|
c:identifier="gst_buffer_add_video_gl_texture_upload_meta">
|
|
<doc xml:space="preserve">Attaches GstVideoGLTextureUploadMeta metadata to @buffer with the given
|
|
parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoGLTextureUploadMeta on @buffer.</doc>
|
|
<type name="VideoGLTextureUploadMeta"
|
|
c:type="GstVideoGLTextureUploadMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="texture_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoGLTextureOrientation</doc>
|
|
<type name="VideoGLTextureOrientation"
|
|
c:type="GstVideoGLTextureOrientation"/>
|
|
</parameter>
|
|
<parameter name="n_textures" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of textures</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="texture_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">array of #GstVideoGLTextureType</doc>
|
|
<type name="VideoGLTextureType" c:type="GstVideoGLTextureType*"/>
|
|
</parameter>
|
|
<parameter name="upload"
|
|
transfer-ownership="none"
|
|
scope="call"
|
|
closure="5">
|
|
<doc xml:space="preserve">the function to upload the buffer to a specific texture ID</doc>
|
|
<type name="VideoGLTextureUpload" c:type="GstVideoGLTextureUpload"/>
|
|
</parameter>
|
|
<parameter name="user_data"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">user data for the implementor of @upload</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="user_data_copy"
|
|
transfer-ownership="none"
|
|
scope="call">
|
|
<doc xml:space="preserve">function to copy @user_data</doc>
|
|
<type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data_free"
|
|
transfer-ownership="none"
|
|
scope="call">
|
|
<doc xml:space="preserve">function to free @user_data</doc>
|
|
<type name="GObject.BoxedFreeFunc" c:type="GBoxedFreeFunc"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_meta"
|
|
c:identifier="gst_buffer_add_video_meta">
|
|
<doc xml:space="preserve">Attaches GstVideoMeta metadata to @buffer with the given parameters and the
|
|
default offsets and strides for @format and @width x @height.
|
|
|
|
This function calculates the default offsets and strides and then calls
|
|
gst_buffer_add_video_meta_full() with them.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoMeta on @buffer.</doc>
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoFrameFlags</doc>
|
|
<type name="VideoFrameFlags" c:type="GstVideoFrameFlags"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_meta_full"
|
|
c:identifier="gst_buffer_add_video_meta_full">
|
|
<doc xml:space="preserve">Attaches GstVideoMeta metadata to @buffer with the given parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoMeta on @buffer.</doc>
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoFrameFlags</doc>
|
|
<type name="VideoFrameFlags" c:type="GstVideoFrameFlags"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="n_planes" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of planes</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">offset of each plane</doc>
|
|
<array zero-terminated="0" c:type="gsize*" fixed-size="4">
|
|
<type name="gsize" c:type="gsize"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="stride" transfer-ownership="none">
|
|
<doc xml:space="preserve">stride of each plane</doc>
|
|
<array zero-terminated="0" c:type="gint*" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_overlay_composition_meta"
|
|
c:identifier="gst_buffer_add_video_overlay_composition_meta">
|
|
<doc xml:space="preserve">Sets an overlay composition on a buffer. The buffer will obtain its own
|
|
reference to the composition, meaning this function does not take ownership
|
|
of @comp.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayCompositionMeta</doc>
|
|
<type name="VideoOverlayCompositionMeta"
|
|
c:type="GstVideoOverlayCompositionMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="comp"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition</doc>
|
|
<type name="VideoOverlayComposition"
|
|
c:type="GstVideoOverlayComposition*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_region_of_interest_meta"
|
|
c:identifier="gst_buffer_add_video_region_of_interest_meta">
|
|
<doc xml:space="preserve">Attaches #GstVideoRegionOfInterestMeta metadata to @buffer with the given
|
|
parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoRegionOfInterestMeta on @buffer.</doc>
|
|
<type name="VideoRegionOfInterestMeta"
|
|
c:type="GstVideoRegionOfInterestMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="roi_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">Type of the region of interest (e.g. "face")</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X position</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y position</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="w" transfer-ownership="none">
|
|
<doc xml:space="preserve">width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="h" transfer-ownership="none">
|
|
<doc xml:space="preserve">height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_region_of_interest_meta_id"
|
|
c:identifier="gst_buffer_add_video_region_of_interest_meta_id">
|
|
<doc xml:space="preserve">Attaches #GstVideoRegionOfInterestMeta metadata to @buffer with the given
|
|
parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoRegionOfInterestMeta on @buffer.</doc>
|
|
<type name="VideoRegionOfInterestMeta"
|
|
c:type="GstVideoRegionOfInterestMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="roi_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">Type of the region of interest (e.g. "face")</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X position</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y position</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="w" transfer-ownership="none">
|
|
<doc xml:space="preserve">width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="h" transfer-ownership="none">
|
|
<doc xml:space="preserve">height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_time_code_meta"
|
|
c:identifier="gst_buffer_add_video_time_code_meta"
|
|
version="1.10">
|
|
<doc xml:space="preserve">Attaches #GstVideoTimeCodeMeta metadata to @buffer with the given
|
|
parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoTimeCodeMeta on @buffer.</doc>
|
|
<type name="VideoTimeCodeMeta" c:type="GstVideoTimeCodeMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_time_code_meta_full"
|
|
c:identifier="gst_buffer_add_video_time_code_meta_full"
|
|
version="1.10">
|
|
<doc xml:space="preserve">Attaches #GstVideoTimeCodeMeta metadata to @buffer with the given
|
|
parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoTimeCodeMeta on @buffer.</doc>
|
|
<type name="VideoTimeCodeMeta" c:type="GstVideoTimeCodeMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="fps_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">framerate numerator</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="fps_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">framerate denominator</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="latest_daily_jam" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GDateTime for the latest daily jam</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCodeFlags</doc>
|
|
<type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
|
|
</parameter>
|
|
<parameter name="hours" transfer-ownership="none">
|
|
<doc xml:space="preserve">hours since the daily jam</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="minutes" transfer-ownership="none">
|
|
<doc xml:space="preserve">minutes since the daily jam</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="seconds" transfer-ownership="none">
|
|
<doc xml:space="preserve">seconds since the daily jam</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="frames" transfer-ownership="none">
|
|
<doc xml:space="preserve">frames since the daily jam</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="field_count" transfer-ownership="none">
|
|
<doc xml:space="preserve">fields since the daily jam</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_get_video_meta"
|
|
c:identifier="gst_buffer_get_video_meta">
|
|
<doc xml:space="preserve">Find the #GstVideoMeta on @buffer with the lowest @id.
|
|
|
|
Buffers can contain multiple #GstVideoMeta metadata items when dealing with
|
|
multiview buffers.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoMeta with lowest id (usually 0) or %NULL when there
|
|
is no such metadata on @buffer.</doc>
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_get_video_meta_id"
|
|
c:identifier="gst_buffer_get_video_meta_id">
|
|
<doc xml:space="preserve">Find the #GstVideoMeta on @buffer with the given @id.
|
|
|
|
Buffers can contain multiple #GstVideoMeta metadata items when dealing with
|
|
multiview buffers.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoMeta with @id or %NULL when there is no such metadata
|
|
on @buffer.</doc>
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">a metadata id</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_get_video_region_of_interest_meta_id"
|
|
c:identifier="gst_buffer_get_video_region_of_interest_meta_id">
|
|
<doc xml:space="preserve">Find the #GstVideoRegionOfInterestMeta on @buffer with the given @id.
|
|
|
|
Buffers can contain multiple #GstVideoRegionOfInterestMeta metadata items if
|
|
multiple regions of interests are marked on a frame.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoRegionOfInterestMeta with @id or %NULL when there is
|
|
no such metadata on @buffer.</doc>
|
|
<type name="VideoRegionOfInterestMeta"
|
|
c:type="GstVideoRegionOfInterestMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">a metadata id</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_pool_config_get_video_alignment"
|
|
c:identifier="gst_buffer_pool_config_get_video_alignment">
|
|
<doc xml:space="preserve">Get the video alignment from the bufferpool configuration @config in
|
|
in @align</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @config could be parsed correctly.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="config" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="align" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoAlignment</doc>
|
|
<type name="VideoAlignment" c:type="GstVideoAlignment*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_pool_config_set_video_alignment"
|
|
c:identifier="gst_buffer_pool_config_set_video_alignment">
|
|
<doc xml:space="preserve">Set the video alignment in @align to the bufferpool configuration
|
|
@config</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="config" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="align" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoAlignment</doc>
|
|
<type name="VideoAlignment" c:type="GstVideoAlignment*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="is_video_overlay_prepare_window_handle_message"
|
|
c:identifier="gst_is_video_overlay_prepare_window_handle_message">
|
|
<doc xml:space="preserve">Convenience function to check if the given message is a
|
|
"prepare-window-handle" message from a #GstVideoOverlay.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether @msg is a "prepare-window-handle" message</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="msg" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMessage</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_event_get_type"
|
|
c:identifier="gst_navigation_event_get_type"
|
|
moved-to="Navigation.event_get_type">
|
|
<doc xml:space="preserve">Inspect a #GstEvent and return the #GstNavigationEventType of the event, or
|
|
#GST_NAVIGATION_EVENT_INVALID if the event is not a #GstNavigation event.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="NavigationEventType" c:type="GstNavigationEventType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_event_parse_command"
|
|
c:identifier="gst_navigation_event_parse_command"
|
|
moved-to="Navigation.event_parse_command">
|
|
<doc xml:space="preserve">Inspect a #GstNavigation command event and retrieve the enum value of the
|
|
associated command.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the navigation command could be extracted, otherwise FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="command"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to GstNavigationCommand to receive the
|
|
type of the navigation event.</doc>
|
|
<type name="NavigationCommand" c:type="GstNavigationCommand*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_event_parse_key_event"
|
|
c:identifier="gst_navigation_event_parse_key_event"
|
|
moved-to="Navigation.event_parse_key_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="key"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="none"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a location to receive
|
|
the string identifying the key press. The returned string is owned by the
|
|
event, and valid only until the event is unreffed.</doc>
|
|
<type name="utf8" c:type="const gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_event_parse_mouse_button_event"
|
|
c:identifier="gst_navigation_event_parse_mouse_button_event"
|
|
moved-to="Navigation.event_parse_mouse_button_event">
|
|
<doc xml:space="preserve">Retrieve the details of either a #GstNavigation mouse button press event or
|
|
a mouse button release event. Determine which type the event is using
|
|
gst_navigation_event_get_type() to retrieve the #GstNavigationEventType.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the button number and both coordinates could be extracted,
|
|
otherwise FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="button"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gint that will receive the button
|
|
number associated with the event.</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="x"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the x coordinate of the
|
|
mouse button event.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="y"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the y coordinate of the
|
|
mouse button event.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_event_parse_mouse_move_event"
|
|
c:identifier="gst_navigation_event_parse_mouse_move_event"
|
|
moved-to="Navigation.event_parse_mouse_move_event">
|
|
<doc xml:space="preserve">Inspect a #GstNavigation mouse movement event and extract the coordinates
|
|
of the event.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if both coordinates could be extracted, otherwise FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="x"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the x coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="y"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the y coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_get_type"
|
|
c:identifier="gst_navigation_message_get_type"
|
|
moved-to="Navigation.message_get_type">
|
|
<doc xml:space="preserve">Check a bus message to see if it is a #GstNavigation event, and return
|
|
the #GstNavigationMessageType identifying the type of the message if so.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The type of the #GstMessage, or
|
|
#GST_NAVIGATION_MESSAGE_INVALID if the message is not a #GstNavigation
|
|
notification.</doc>
|
|
<type name="NavigationMessageType" c:type="GstNavigationMessageType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_new_angles_changed"
|
|
c:identifier="gst_navigation_message_new_angles_changed"
|
|
moved-to="Navigation.message_new_angles_changed">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_ANGLES_CHANGED for notifying an application
|
|
that the current angle, or current number of angles available in a
|
|
multiangle video has changed.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle" transfer-ownership="none">
|
|
<doc xml:space="preserve">The currently selected angle.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="n_angles" transfer-ownership="none">
|
|
<doc xml:space="preserve">The number of viewing angles now available.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_new_commands_changed"
|
|
c:identifier="gst_navigation_message_new_commands_changed"
|
|
moved-to="Navigation.message_new_commands_changed">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_new_event"
|
|
c:identifier="gst_navigation_message_new_event"
|
|
moved-to="Navigation.message_new_event"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_EVENT.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A navigation #GstEvent</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_new_mouse_over"
|
|
c:identifier="gst_navigation_message_new_mouse_over"
|
|
moved-to="Navigation.message_new_mouse_over">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_MOUSE_OVER.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the mouse has entered a clickable area of the display.
|
|
%FALSE if it over a non-clickable area.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_parse_angles_changed"
|
|
c:identifier="gst_navigation_message_parse_angles_changed"
|
|
moved-to="Navigation.message_parse_angles_changed">
|
|
<doc xml:space="preserve">Parse a #GstNavigation message of type GST_NAVIGATION_MESSAGE_ANGLES_CHANGED
|
|
and extract the @cur_angle and @n_angles parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a #guint to receive the new
|
|
current angle number, or NULL</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="n_angles"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a #guint to receive the new angle
|
|
count, or NULL.</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_parse_event"
|
|
c:identifier="gst_navigation_message_parse_event"
|
|
moved-to="Navigation.message_parse_event"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_EVENT
|
|
and extract contained #GstEvent. The caller must unref the @event when done
|
|
with it.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="event"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">a pointer to a #GstEvent to receive
|
|
the contained navigation event.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_parse_mouse_over"
|
|
c:identifier="gst_navigation_message_parse_mouse_over"
|
|
moved-to="Navigation.message_parse_mouse_over">
|
|
<doc xml:space="preserve">Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_MOUSE_OVER
|
|
and extract the active/inactive flag. If the mouse over event is marked
|
|
active, it indicates that the mouse is over a clickable area.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="active"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a gboolean to receive the
|
|
active/inactive state, or NULL.</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_query_get_type"
|
|
c:identifier="gst_navigation_query_get_type"
|
|
moved-to="Navigation.query_get_type">
|
|
<doc xml:space="preserve">Inspect a #GstQuery and return the #GstNavigationQueryType associated with
|
|
it if it is a #GstNavigation query.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstNavigationQueryType of the query, or
|
|
#GST_NAVIGATION_QUERY_INVALID</doc>
|
|
<type name="NavigationQueryType" c:type="GstNavigationQueryType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">The query to inspect</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_query_new_angles"
|
|
c:identifier="gst_navigation_query_new_angles"
|
|
moved-to="Navigation.query_new_angles">
|
|
<doc xml:space="preserve">Create a new #GstNavigation angles query. When executed, it will
|
|
query the pipeline for the set of currently available angles, which may be
|
|
greater than one in a multiangle video.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new query.</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="navigation_query_new_commands"
|
|
c:identifier="gst_navigation_query_new_commands"
|
|
moved-to="Navigation.query_new_commands">
|
|
<doc xml:space="preserve">Create a new #GstNavigation commands query. When executed, it will
|
|
query the pipeline for the set of currently available commands.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new query.</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="navigation_query_parse_angles"
|
|
c:identifier="gst_navigation_query_parse_angles"
|
|
moved-to="Navigation.query_parse_angles">
|
|
<doc xml:space="preserve">Parse the current angle number in the #GstNavigation angles @query into the
|
|
#guint pointed to by the @cur_angle variable, and the number of available
|
|
angles into the #guint pointed to by the @n_angles variable.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a #guint into which to store the
|
|
currently selected angle value from the query, or NULL</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="n_angles"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a #guint into which to store the
|
|
number of angles value from the query, or NULL</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_query_parse_commands_length"
|
|
c:identifier="gst_navigation_query_parse_commands_length"
|
|
moved-to="Navigation.query_parse_commands_length">
|
|
<doc xml:space="preserve">Parse the number of commands in the #GstNavigation commands @query.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="n_cmds"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">the number of commands in this query.</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_query_parse_commands_nth"
|
|
c:identifier="gst_navigation_query_parse_commands_nth"
|
|
moved-to="Navigation.query_parse_commands_nth">
|
|
<doc xml:space="preserve">Parse the #GstNavigation command query and retrieve the @nth command from
|
|
it into @cmd. If the list contains less elements than @nth, @cmd will be
|
|
set to #GST_NAVIGATION_COMMAND_INVALID.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="nth" transfer-ownership="none">
|
|
<doc xml:space="preserve">the nth command to retrieve.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="cmd"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">a pointer to store the nth command into.</doc>
|
|
<type name="NavigationCommand" c:type="GstNavigationCommand*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_query_set_angles"
|
|
c:identifier="gst_navigation_query_set_angles"
|
|
moved-to="Navigation.query_set_angles">
|
|
<doc xml:space="preserve">Set the #GstNavigation angles query result field in @query.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle" transfer-ownership="none">
|
|
<doc xml:space="preserve">the current viewing angle to set.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="n_angles" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of viewing angles to set.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_query_set_commandsv"
|
|
c:identifier="gst_navigation_query_set_commandsv"
|
|
moved-to="Navigation.query_set_commandsv">
|
|
<doc xml:space="preserve">Set the #GstNavigation command query result fields in @query. The number
|
|
of commands passed must be equal to @n_commands.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="n_cmds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of commands to set.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="cmds" transfer-ownership="none">
|
|
<doc xml:space="preserve">An array containing @n_cmds
|
|
@GstNavigationCommand values.</doc>
|
|
<array length="1" zero-terminated="0" c:type="GstNavigationCommand*">
|
|
<type name="NavigationCommand" c:type="GstNavigationCommand"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_affine_transformation_meta_api_get_type"
|
|
c:identifier="gst_video_affine_transformation_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_affine_transformation_meta_get_info"
|
|
c:identifier="gst_video_affine_transformation_meta_get_info"
|
|
moved-to="VideoAffineTransformationMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_blend" c:identifier="gst_video_blend">
|
|
<doc xml:space="preserve">Lets you blend the @src image into the @dest image</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstVideoFrame where to blend @src in</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFrame that we want to blend into</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">The x offset in pixel where the @src image should be blended</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the y offset in pixel where the @src image should be blended</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="global_alpha" transfer-ownership="none">
|
|
<doc xml:space="preserve">the global_alpha each per-pixel alpha value is multiplied
|
|
with</doc>
|
|
<type name="gfloat" c:type="gfloat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_blend_scale_linear_RGBA"
|
|
c:identifier="gst_video_blend_scale_linear_RGBA">
|
|
<doc xml:space="preserve">Scales a buffer containing RGBA (or AYUV) video. This is an internal
|
|
helper function which is used to scale subtitle overlays, and may be
|
|
deprecated in the near future. Use #GstVideoScaler to scale video buffers
|
|
instead.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoInfo describing the video data in @src_buffer</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="src_buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source buffer containing video pixels to scale</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="dest_height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height in pixels to scale the video data in @src_buffer to</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="dest_width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width in pixels to scale the video data in @src_buffer to</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="dest"
|
|
direction="out"
|
|
caller-allocates="1"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to a #GstVideoInfo structure that will be filled in
|
|
with the details for @dest_buffer</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="dest_buffer"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to a #GstBuffer variable, which will be
|
|
set to a newly-allocated buffer containing the scaled pixels.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_calculate_display_ratio"
|
|
c:identifier="gst_video_calculate_display_ratio">
|
|
<doc xml:space="preserve">Given the Pixel Aspect Ratio and size of an input video frame, and the
|
|
pixel aspect ratio of the intended display device, calculates the actual
|
|
display ratio the video will be rendered with.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A boolean indicating success and a calculated Display Ratio in the
|
|
dar_n and dar_d parameters.
|
|
The return value is FALSE in the case of integer overflow or other error.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dar_n"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">Numerator of the calculated display_ratio</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="dar_d"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">Denominator of the calculated display_ratio</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="video_width" transfer-ownership="none">
|
|
<doc xml:space="preserve">Width of the video frame in pixels</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="video_height" transfer-ownership="none">
|
|
<doc xml:space="preserve">Height of the video frame in pixels</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="video_par_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the pixel aspect ratio of the input video.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="video_par_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the pixel aspect ratio of the input video.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="display_par_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the pixel aspect ratio of the display device</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="display_par_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the pixel aspect ratio of the display device</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_chroma_from_string"
|
|
c:identifier="gst_video_chroma_from_string">
|
|
<doc xml:space="preserve">Convert @s to a #GstVideoChromaSite</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaSite or %GST_VIDEO_CHROMA_SITE_UNKNOWN when @s does
|
|
not contain a valid chroma description.</doc>
|
|
<type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="s" transfer-ownership="none">
|
|
<doc xml:space="preserve">a chromasite string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_chroma_resample"
|
|
c:identifier="gst_video_chroma_resample">
|
|
<doc xml:space="preserve">Perform resampling of @width chroma pixels in @lines.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="resample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaResample</doc>
|
|
<type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
|
|
</parameter>
|
|
<parameter name="lines"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">pixel lines</doc>
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of pixels on one line</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_chroma_resample_new"
|
|
c:identifier="gst_video_chroma_resample_new"
|
|
moved-to="VideoChromaResample.new"
|
|
introspectable="0">
|
|
<doc xml:space="preserve">Create a new resampler object for the given parameters. When @h_factor or
|
|
@v_factor is > 0, upsampling will be used, otherwise subsampling is
|
|
performed.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a new #GstVideoChromaResample that should be freed with
|
|
gst_video_chroma_resample_free() after usage.</doc>
|
|
<type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="method" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaMethod</doc>
|
|
<type name="VideoChromaMethod" c:type="GstVideoChromaMethod"/>
|
|
</parameter>
|
|
<parameter name="site" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaSite</doc>
|
|
<type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoChromaFlags</doc>
|
|
<type name="VideoChromaFlags" c:type="GstVideoChromaFlags"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="h_factor" transfer-ownership="none">
|
|
<doc xml:space="preserve">horizontal resampling factor</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="v_factor" transfer-ownership="none">
|
|
<doc xml:space="preserve">vertical resampling factor</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_chroma_to_string"
|
|
c:identifier="gst_video_chroma_to_string">
|
|
<doc xml:space="preserve">Converts @site to its string representation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a string describing @site.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="site" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaSite</doc>
|
|
<type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_color_matrix_get_Kr_Kb"
|
|
c:identifier="gst_video_color_matrix_get_Kr_Kb"
|
|
moved-to="VideoColorMatrix.get_Kr_Kb"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Get the coefficients used to convert between Y'PbPr and R'G'B' using @matrix.
|
|
|
|
When:
|
|
|
|
|[
|
|
0.0 <= [Y',R',G',B'] <= 1.0)
|
|
(-0.5 <= [Pb,Pr] <= 0.5)
|
|
]|
|
|
|
|
the general conversion is given by:
|
|
|
|
|[
|
|
Y' = Kr*R' + (1-Kr-Kb)*G' + Kb*B'
|
|
Pb = (B'-Y')/(2*(1-Kb))
|
|
Pr = (R'-Y')/(2*(1-Kr))
|
|
]|
|
|
|
|
and the other way around:
|
|
|
|
|[
|
|
R' = Y' + Cr*2*(1-Kr)
|
|
G' = Y' - Cb*2*(1-Kb)*Kb/(1-Kr-Kb) - Cr*2*(1-Kr)*Kr/(1-Kr-Kb)
|
|
B' = Y' + Cb*2*(1-Kb)
|
|
]|</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if @matrix was a YUV color format and @Kr and @Kb contain valid
|
|
values.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="matrix" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorMatrix</doc>
|
|
<type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
|
|
</parameter>
|
|
<parameter name="Kr"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">result red channel coefficient</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="Kb"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">result blue channel coefficient</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_color_primaries_get_info"
|
|
c:identifier="gst_video_color_primaries_get_info"
|
|
moved-to="VideoColorPrimaries.get_info"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Get information about the chromaticity coordinates of @primaries.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorPrimariesInfo for @primaries.</doc>
|
|
<type name="VideoColorPrimariesInfo"
|
|
c:type="const GstVideoColorPrimariesInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="primaries" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorPrimaries</doc>
|
|
<type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_color_range_offsets"
|
|
c:identifier="gst_video_color_range_offsets"
|
|
moved-to="VideoColorRange.offsets">
|
|
<doc xml:space="preserve">Compute the offset and scale values for each component of @info. For each
|
|
component, (c[i] - offset[i]) / scale[i] will scale the component c[i] to the
|
|
range [0.0 .. 1.0].
|
|
|
|
The reverse operation (c[i] * scale[i]) + offset[i] can be used to convert
|
|
the component values in range [0.0 .. 1.0] back to their representation in
|
|
@info and @range.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="range" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorRange</doc>
|
|
<type name="VideoColorRange" c:type="GstVideoColorRange"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormatInfo</doc>
|
|
<type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
|
|
</parameter>
|
|
<parameter name="offset"
|
|
direction="out"
|
|
caller-allocates="1"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">output offsets</doc>
|
|
<array zero-terminated="0" c:type="gint*" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="scale"
|
|
direction="out"
|
|
caller-allocates="1"
|
|
transfer-ownership="none">
|
|
<doc xml:space="preserve">output scale</doc>
|
|
<array zero-terminated="0" c:type="gint*" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_color_transfer_decode"
|
|
c:identifier="gst_video_color_transfer_decode"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Convert @val to its gamma decoded value. This is the inverse operation of
|
|
@gst_video_color_transfer_encode().
|
|
|
|
For a non-linear value L' in the range [0..1], conversion to the linear
|
|
L is in general performed with a power function like:
|
|
|
|
|[
|
|
L = L' ^ gamma
|
|
]|
|
|
|
|
Depending on @func, different formulas might be applied. Some formulas
|
|
encode a linear segment in the lower range.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the gamme decoded value of @val</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="func" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTransferFunction</doc>
|
|
<type name="VideoTransferFunction"
|
|
c:type="GstVideoTransferFunction"/>
|
|
</parameter>
|
|
<parameter name="val" transfer-ownership="none">
|
|
<doc xml:space="preserve">a value</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_color_transfer_encode"
|
|
c:identifier="gst_video_color_transfer_encode"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Convert @val to its gamma encoded value.
|
|
|
|
For a linear value L in the range [0..1], conversion to the non-linear
|
|
(gamma encoded) L' is in general performed with a power function like:
|
|
|
|
|[
|
|
L' = L ^ (1 / gamma)
|
|
]|
|
|
|
|
Depending on @func, different formulas might be applied. Some formulas
|
|
encode a linear segment in the lower range.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the gamme encoded value of @val</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="func" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTransferFunction</doc>
|
|
<type name="VideoTransferFunction"
|
|
c:type="GstVideoTransferFunction"/>
|
|
</parameter>
|
|
<parameter name="val" transfer-ownership="none">
|
|
<doc xml:space="preserve">a value</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_convert_sample"
|
|
c:identifier="gst_video_convert_sample"
|
|
throws="1">
|
|
<doc xml:space="preserve">Converts a raw video buffer into the specified output caps.
|
|
|
|
The output caps can be any raw video formats or any image formats (jpeg, png, ...).
|
|
|
|
The width, height and pixel-aspect-ratio can also be specified in the output caps.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The converted #GstSample, or %NULL if an error happened (in which case @err
|
|
will point to the #GError).</doc>
|
|
<type name="Gst.Sample" c:type="GstSample*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSample</doc>
|
|
<type name="Gst.Sample" c:type="GstSample*"/>
|
|
</parameter>
|
|
<parameter name="to_caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to convert to</doc>
|
|
<type name="Gst.Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="timeout" transfer-ownership="none">
|
|
<doc xml:space="preserve">the maximum amount of time allowed for the processing.</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_convert_sample_async"
|
|
c:identifier="gst_video_convert_sample_async">
|
|
<doc xml:space="preserve">Converts a raw video buffer into the specified output caps.
|
|
|
|
The output caps can be any raw video formats or any image formats (jpeg, png, ...).
|
|
|
|
The width, height and pixel-aspect-ratio can also be specified in the output caps.
|
|
|
|
@callback will be called after conversion, when an error occured or if conversion didn't
|
|
finish after @timeout. @callback will always be called from the thread default
|
|
%GMainContext, see g_main_context_get_thread_default(). If GLib before 2.22 is used,
|
|
this will always be the global default main context.
|
|
|
|
@destroy_notify will be called after the callback was called and @user_data is not needed
|
|
anymore.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSample</doc>
|
|
<type name="Gst.Sample" c:type="GstSample*"/>
|
|
</parameter>
|
|
<parameter name="to_caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to convert to</doc>
|
|
<type name="Gst.Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="timeout" transfer-ownership="none">
|
|
<doc xml:space="preserve">the maximum amount of time allowed for the processing.</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="callback"
|
|
transfer-ownership="none"
|
|
scope="notified"
|
|
closure="4"
|
|
destroy="5">
|
|
<doc xml:space="preserve">%GstVideoConvertSampleCallback that will be called after conversion.</doc>
|
|
<type name="VideoConvertSampleCallback"
|
|
c:type="GstVideoConvertSampleCallback"/>
|
|
</parameter>
|
|
<parameter name="user_data"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">extra data that will be passed to the @callback</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="destroy_notify"
|
|
transfer-ownership="none"
|
|
scope="async">
|
|
<doc xml:space="preserve">%GDestroyNotify to be called after @user_data is not needed anymore</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_converter_new"
|
|
c:identifier="gst_video_converter_new"
|
|
moved-to="VideoConverter.new"
|
|
version="1.6"
|
|
introspectable="0">
|
|
<doc xml:space="preserve">Create a new converter object to convert between @in_info and @out_info
|
|
with @config.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a #GstVideoConverter or %NULL if conversion is not possible.</doc>
|
|
<type name="VideoConverter" c:type="GstVideoConverter*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="in_info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="out_info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="config" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstStructure with configuration options</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_crop_meta_api_get_type"
|
|
c:identifier="gst_video_crop_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_crop_meta_get_info"
|
|
c:identifier="gst_video_crop_meta_get_info"
|
|
moved-to="VideoCropMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_dither_new"
|
|
c:identifier="gst_video_dither_new"
|
|
moved-to="VideoDither.new"
|
|
introspectable="0">
|
|
<doc xml:space="preserve">Make a new dither object for dithering lines of @format using the
|
|
algorithm described by @method.
|
|
|
|
Each component will be quantized to a multiple of @quantizer. Better
|
|
performance is achived when @quantizer is a power of 2.
|
|
|
|
@width is the width of the lines that this ditherer will handle.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a new #GstVideoDither</doc>
|
|
<type name="VideoDither" c:type="GstVideoDither*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="method" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDitherMethod</doc>
|
|
<type name="VideoDitherMethod" c:type="GstVideoDitherMethod"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDitherFlags</doc>
|
|
<type name="VideoDitherFlags" c:type="GstVideoDitherFlags"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="quantizer" transfer-ownership="none">
|
|
<doc xml:space="preserve">quantizer</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width of the lines</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_event_is_force_key_unit"
|
|
c:identifier="gst_video_event_is_force_key_unit">
|
|
<doc xml:space="preserve">Checks if an event is a force key unit event. Returns true for both upstream
|
|
and downstream force key unit events.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the event is a valid force key unit event</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to check</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_event_new_downstream_force_key_unit"
|
|
c:identifier="gst_video_event_new_downstream_force_key_unit">
|
|
<doc xml:space="preserve">Creates a new downstream force key unit event. A downstream force key unit
|
|
event can be sent down the pipeline to request downstream elements to produce
|
|
a key unit. A downstream force key unit event must also be sent when handling
|
|
an upstream force key unit event to notify downstream that the latter has been
|
|
handled.
|
|
|
|
To parse an event created by gst_video_event_new_downstream_force_key_unit() use
|
|
gst_video_event_parse_downstream_force_key_unit().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new GstEvent</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the timestamp of the buffer that starts a new key unit</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="stream_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the stream_time of the buffer that starts a new key unit</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="running_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the running_time of the buffer that starts a new key unit</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="all_headers" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE to produce headers when starting a new key unit</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="count" transfer-ownership="none">
|
|
<doc xml:space="preserve">integer that can be used to number key units</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_event_new_still_frame"
|
|
c:identifier="gst_video_event_new_still_frame">
|
|
<doc xml:space="preserve">Creates a new Still Frame event. If @in_still is %TRUE, then the event
|
|
represents the start of a still frame sequence. If it is %FALSE, then
|
|
the event ends a still frame sequence.
|
|
|
|
To parse an event created by gst_video_event_new_still_frame() use
|
|
gst_video_event_parse_still_frame().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new GstEvent</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="in_still" transfer-ownership="none">
|
|
<doc xml:space="preserve">boolean value for the still-frame state of the event.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_event_new_upstream_force_key_unit"
|
|
c:identifier="gst_video_event_new_upstream_force_key_unit">
|
|
<doc xml:space="preserve">Creates a new upstream force key unit event. An upstream force key unit event
|
|
can be sent to request upstream elements to produce a key unit.
|
|
|
|
@running_time can be set to request a new key unit at a specific
|
|
running_time. If set to GST_CLOCK_TIME_NONE, upstream elements will produce a
|
|
new key unit as soon as possible.
|
|
|
|
To parse an event created by gst_video_event_new_downstream_force_key_unit() use
|
|
gst_video_event_parse_downstream_force_key_unit().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new GstEvent</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="running_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the running_time at which a new key unit should be produced</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="all_headers" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE to produce headers when starting a new key unit</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="count" transfer-ownership="none">
|
|
<doc xml:space="preserve">integer that can be used to number key units</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_event_parse_downstream_force_key_unit"
|
|
c:identifier="gst_video_event_parse_downstream_force_key_unit">
|
|
<doc xml:space="preserve">Get timestamp, stream-time, running-time, all-headers and count in the force
|
|
key unit event. See gst_video_event_new_downstream_force_key_unit() for a
|
|
full description of the downstream force key unit event.
|
|
|
|
@running_time will be adjusted for any pad offsets of pads it was passing through.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the event is a valid downstream force key unit event.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to parse</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="timestamp"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the timestamp in the event</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="stream_time"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the stream-time in the event</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="running_time"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the running-time in the event</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="all_headers"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the all_headers flag in the event</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
<parameter name="count"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the count field of the event</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_event_parse_still_frame"
|
|
c:identifier="gst_video_event_parse_still_frame">
|
|
<doc xml:space="preserve">Parse a #GstEvent, identify if it is a Still Frame event, and
|
|
return the still-frame state from the event if it is.
|
|
If the event represents the start of a still frame, the in_still
|
|
variable will be set to TRUE, otherwise FALSE. It is OK to pass NULL for the
|
|
in_still variable order to just check whether the event is a valid still-frame
|
|
event.
|
|
|
|
Create a still frame event using gst_video_event_new_still_frame()</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the event is a valid still-frame event. %FALSE if not</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to parse</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="in_still"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">
|
|
A boolean to receive the still-frame status from the event, or NULL</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_event_parse_upstream_force_key_unit"
|
|
c:identifier="gst_video_event_parse_upstream_force_key_unit">
|
|
<doc xml:space="preserve">Get running-time, all-headers and count in the force key unit event. See
|
|
gst_video_event_new_upstream_force_key_unit() for a full description of the
|
|
upstream force key unit event.
|
|
|
|
Create an upstream force key unit event using gst_video_event_new_upstream_force_key_unit()
|
|
|
|
@running_time will be adjusted for any pad offsets of pads it was passing through.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the event is a valid upstream force-key-unit event. %FALSE if not</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to parse</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="running_time"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the running_time in the event</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="all_headers"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the all_headers flag in the event</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
<parameter name="count"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the count field in the event</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_field_order_from_string"
|
|
c:identifier="gst_video_field_order_from_string"
|
|
moved-to="VideoFieldOrder.from_string"
|
|
version="1.12">
|
|
<doc xml:space="preserve">Convert @order to a #GstVideoFieldOrder</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFieldOrder of @order or
|
|
#GST_VIDEO_FIELD_ORDER_UNKNOWN when @order is not a valid
|
|
string representation for a #GstVideoFieldOrder.</doc>
|
|
<type name="VideoFieldOrder" c:type="GstVideoFieldOrder"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="order" transfer-ownership="none">
|
|
<doc xml:space="preserve">a field order</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_field_order_to_string"
|
|
c:identifier="gst_video_field_order_to_string"
|
|
moved-to="VideoFieldOrder.to_string"
|
|
version="1.12">
|
|
<doc xml:space="preserve">Convert @order to its string representation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@order as a string or NULL if @order in invalid.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="order" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFieldOrder</doc>
|
|
<type name="VideoFieldOrder" c:type="GstVideoFieldOrder"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_format_from_fourcc"
|
|
c:identifier="gst_video_format_from_fourcc"
|
|
moved-to="VideoFormat.from_fourcc">
|
|
<doc xml:space="preserve">Converts a FOURCC value into the corresponding #GstVideoFormat.
|
|
If the FOURCC cannot be represented by #GstVideoFormat,
|
|
#GST_VIDEO_FORMAT_UNKNOWN is returned.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFormat describing the FOURCC value</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fourcc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a FOURCC value representing raw YUV video</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_format_from_masks"
|
|
c:identifier="gst_video_format_from_masks"
|
|
moved-to="VideoFormat.from_masks">
|
|
<doc xml:space="preserve">Find the #GstVideoFormat for the given parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat or GST_VIDEO_FORMAT_UNKNOWN when the parameters to
|
|
not specify a known format.</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="depth" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of bits used for a pixel</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="bpp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of bits used to store a pixel. This value is bigger than
|
|
@depth</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="endianness" transfer-ownership="none">
|
|
<doc xml:space="preserve">the endianness of the masks, #G_LITTLE_ENDIAN or #G_BIG_ENDIAN</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="red_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the red mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="green_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the green mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="blue_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the blue mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="alpha_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the alpha mask, or 0 if no alpha mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_format_from_string"
|
|
c:identifier="gst_video_format_from_string"
|
|
moved-to="VideoFormat.from_string">
|
|
<doc xml:space="preserve">Convert the @format string to its #GstVideoFormat.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFormat for @format or GST_VIDEO_FORMAT_UNKNOWN when the
|
|
string is not a known format.</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a format string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_format_get_info"
|
|
c:identifier="gst_video_format_get_info"
|
|
moved-to="VideoFormat.get_info">
|
|
<doc xml:space="preserve">Get the #GstVideoFormatInfo for @format</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstVideoFormatInfo for @format.</doc>
|
|
<type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_format_get_palette"
|
|
c:identifier="gst_video_format_get_palette"
|
|
moved-to="VideoFormat.get_palette"
|
|
version="1.2">
|
|
<doc xml:space="preserve">Get the default palette of @format. This the palette used in the pack
|
|
function for paletted formats.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the default palette of @format or %NULL when
|
|
@format does not have a palette.</doc>
|
|
<type name="gpointer" c:type="gconstpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="size"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full">
|
|
<doc xml:space="preserve">size of the palette in bytes</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_format_to_fourcc"
|
|
c:identifier="gst_video_format_to_fourcc"
|
|
moved-to="VideoFormat.to_fourcc">
|
|
<doc xml:space="preserve">Converts a #GstVideoFormat value into the corresponding FOURCC. Only
|
|
a few YUV formats have corresponding FOURCC values. If @format has
|
|
no corresponding FOURCC value, 0 is returned.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the FOURCC corresponding to @format</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat video format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_format_to_string"
|
|
c:identifier="gst_video_format_to_string"
|
|
moved-to="VideoFormat.to_string">
|
|
<doc xml:space="preserve">Returns a string containing a descriptive name for
|
|
the #GstVideoFormat if there is one, or NULL otherwise.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the name corresponding to @format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat video format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_gl_texture_upload_meta_api_get_type"
|
|
c:identifier="gst_video_gl_texture_upload_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_gl_texture_upload_meta_get_info"
|
|
c:identifier="gst_video_gl_texture_upload_meta_get_info"
|
|
moved-to="VideoGLTextureUploadMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_guess_framerate"
|
|
c:identifier="gst_video_guess_framerate"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Given the nominal duration of one video frame,
|
|
this function will check some standard framerates for
|
|
a close match (within 0.1%) and return one if possible,
|
|
|
|
It will calculate an arbitrary framerate if no close
|
|
match was found, and return %FALSE.
|
|
|
|
It returns %FALSE if a duration of 0 is passed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if a close "standard" framerate was
|
|
recognised, and %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="duration" transfer-ownership="none">
|
|
<doc xml:space="preserve">Nominal duration of one frame</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="dest_n"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Numerator of the calculated framerate</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="dest_d"
|
|
direction="out"
|
|
caller-allocates="0"
|
|
transfer-ownership="full"
|
|
optional="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">Denominator of the calculated framerate</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_interlace_mode_from_string"
|
|
c:identifier="gst_video_interlace_mode_from_string"
|
|
moved-to="VideoInterlaceMode.from_string"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Convert @mode to a #GstVideoInterlaceMode</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoInterlaceMode of @mode or
|
|
#GST_VIDEO_INTERLACE_MODE_PROGRESSIVE when @mode is not a valid
|
|
string representation for a #GstVideoInterlaceMode.</doc>
|
|
<type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">a mode</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_interlace_mode_to_string"
|
|
c:identifier="gst_video_interlace_mode_to_string"
|
|
moved-to="VideoInterlaceMode.to_string"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Convert @mode to its string representation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@mode as a string or NULL if @mode in invalid.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInterlaceMode</doc>
|
|
<type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_meta_api_get_type"
|
|
c:identifier="gst_video_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_meta_get_info"
|
|
c:identifier="gst_video_meta_get_info"
|
|
moved-to="VideoMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_meta_transform_scale_get_quark"
|
|
c:identifier="gst_video_meta_transform_scale_get_quark"
|
|
moved-to="VideoMetaTransform.scale_get_quark">
|
|
<doc xml:space="preserve">Get the #GQuark for the "gst-video-scale" metadata transform operation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GQuark</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_multiview_get_doubled_height_modes"
|
|
c:identifier="gst_video_multiview_get_doubled_height_modes"
|
|
version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A const #GValue containing a list of stereo video modes
|
|
|
|
Utility function that returns a #GValue with a GstList of packed stereo
|
|
video modes with double the height of a single view for use in
|
|
caps negotiations. Currently this is top-bottom and row-interleaved.</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_multiview_get_doubled_size_modes"
|
|
c:identifier="gst_video_multiview_get_doubled_size_modes"
|
|
version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A const #GValue containing a list of stereo video modes
|
|
|
|
Utility function that returns a #GValue with a GstList of packed
|
|
stereo video modes that have double the width/height of a single
|
|
view for use in caps negotiation. Currently this is just
|
|
'checkerboard' layout.</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_multiview_get_doubled_width_modes"
|
|
c:identifier="gst_video_multiview_get_doubled_width_modes"
|
|
version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A const #GValue containing a list of stereo video modes
|
|
|
|
Utility function that returns a #GValue with a GstList of packed stereo
|
|
video modes with double the width of a single view for use in
|
|
caps negotiations. Currently this is side-by-side, side-by-side-quincunx
|
|
and column-interleaved.</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_multiview_get_mono_modes"
|
|
c:identifier="gst_video_multiview_get_mono_modes"
|
|
version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A const #GValue containing a list of mono video modes
|
|
|
|
Utility function that returns a #GValue with a GstList of mono video
|
|
modes (mono/left/right) for use in caps negotiations.</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_multiview_get_unpacked_modes"
|
|
c:identifier="gst_video_multiview_get_unpacked_modes"
|
|
version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A const #GValue containing a list of 'unpacked' stereo video modes
|
|
|
|
Utility function that returns a #GValue with a GstList of unpacked
|
|
stereo video modes (separated/frame-by-frame/frame-by-frame-multiview)
|
|
for use in caps negotiations.</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_multiview_guess_half_aspect"
|
|
c:identifier="gst_video_multiview_guess_half_aspect"
|
|
version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A boolean indicating whether the
|
|
#GST_VIDEO_MULTIVIEW_FLAG_HALF_ASPECT flag should be set.
|
|
|
|
Utility function that heuristically guess whether a
|
|
frame-packed stereoscopic video contains half width/height
|
|
encoded views, or full-frame views by looking at the
|
|
overall display aspect ratio.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mv_mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstVideoMultiviewMode</doc>
|
|
<type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">Video frame width in pixels</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">Video frame height in pixels</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="par_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the video pixel-aspect-ratio</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="par_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the video pixel-aspect-ratio</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_multiview_mode_from_caps_string"
|
|
c:identifier="gst_video_multiview_mode_from_caps_string"
|
|
moved-to="VideoMultiviewMode.from_caps_string"
|
|
version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstVideoMultiviewMode value
|
|
|
|
Given a string from a caps multiview-mode field,
|
|
output the corresponding #GstVideoMultiviewMode
|
|
or #GST_VIDEO_MULTIVIEW_MODE_NONE</doc>
|
|
<type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="caps_mview_mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">multiview-mode field string from caps</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_multiview_mode_to_caps_string"
|
|
c:identifier="gst_video_multiview_mode_to_caps_string"
|
|
moved-to="VideoMultiviewMode.to_caps_string"
|
|
version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The caps string representation of the mode, or NULL if invalid.
|
|
|
|
Given a #GstVideoMultiviewMode returns the multiview-mode caps string
|
|
for insertion into a caps structure</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mview_mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstVideoMultiviewMode value</doc>
|
|
<type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_multiview_video_info_change_mode"
|
|
c:identifier="gst_video_multiview_video_info_change_mode"
|
|
version="1.6">
|
|
<doc xml:space="preserve">Utility function that transforms the width/height/PAR
|
|
and multiview mode and flags of a #GstVideoInfo into
|
|
the requested mode.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstVideoInfo structure to operate on</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="out_mview_mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstVideoMultiviewMode value</doc>
|
|
<type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
|
|
</parameter>
|
|
<parameter name="out_mview_flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">A set of #GstVideoMultiviewFlags</doc>
|
|
<type name="VideoMultiviewFlags" c:type="GstVideoMultiviewFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_overlay_composition_meta_api_get_type"
|
|
c:identifier="gst_video_overlay_composition_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_overlay_composition_meta_get_info"
|
|
c:identifier="gst_video_overlay_composition_meta_get_info"
|
|
moved-to="VideoOverlayCompositionMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_overlay_install_properties"
|
|
c:identifier="gst_video_overlay_install_properties"
|
|
moved-to="VideoOverlay.install_properties">
|
|
<doc xml:space="preserve">This helper shall be used by classes implementing the #GstVideoOverlay
|
|
interface that want the render rectangle to be controllable using
|
|
properties. This helper will install "render-rectangle" property into the
|
|
class.
|
|
|
|
Since 1.14</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="oclass" transfer-ownership="none">
|
|
<doc xml:space="preserve">The class on which the properties will be installed</doc>
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass*"/>
|
|
</parameter>
|
|
<parameter name="last_prop_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The first free property ID to use</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_overlay_set_property"
|
|
c:identifier="gst_video_overlay_set_property"
|
|
moved-to="VideoOverlay.set_property">
|
|
<doc xml:space="preserve">This helper shall be used by classes implementing the #GstVideoOverlay
|
|
interface that want the render rectangle to be controllable using
|
|
properties. This helper will parse and set the render rectangle calling
|
|
gst_video_overlay_set_render_rectangle().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the @property_id matches the GstVideoOverlay property
|
|
|
|
Since 1.14</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">The instance on which the property is set</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="last_prop_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The highest property ID.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="property_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The property ID</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GValue to be set</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_region_of_interest_meta_api_get_type"
|
|
c:identifier="gst_video_region_of_interest_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_region_of_interest_meta_get_info"
|
|
c:identifier="gst_video_region_of_interest_meta_get_info"
|
|
moved-to="VideoRegionOfInterestMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_scaler_new"
|
|
c:identifier="gst_video_scaler_new"
|
|
moved-to="VideoScaler.new"
|
|
introspectable="0">
|
|
<doc xml:space="preserve">Make a new @method video scaler. @in_size source lines/pixels will
|
|
be scaled to @out_size destination lines/pixels.
|
|
|
|
@n_taps specifies the amount of pixels to use from the source for one output
|
|
pixel. If n_taps is 0, this function chooses a good value automatically based
|
|
on the @method and @in_size/@out_size.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a #GstVideoResample</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="method" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoResamplerMethod</doc>
|
|
<type name="VideoResamplerMethod" c:type="GstVideoResamplerMethod"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoScalerFlags</doc>
|
|
<type name="VideoScalerFlags" c:type="GstVideoScalerFlags"/>
|
|
</parameter>
|
|
<parameter name="n_taps" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of taps to use</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="in_size" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of source elements</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="out_size" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of destination elements</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="options"
|
|
transfer-ownership="none"
|
|
nullable="1"
|
|
allow-none="1">
|
|
<doc xml:space="preserve">extra options</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_tile_get_index"
|
|
c:identifier="gst_video_tile_get_index"
|
|
version="1.4">
|
|
<doc xml:space="preserve">Get the tile index of the tile at coordinates @x and @y in the tiled
|
|
image of @x_tiles by @y_tiles.
|
|
|
|
Use this method when @mode is of type %GST_VIDEO_TILE_MODE_INDEXED.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the index of the tile at @x and @y in the tiled image of
|
|
@x_tiles by @y_tiles.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTileMode</doc>
|
|
<type name="VideoTileMode" c:type="GstVideoTileMode"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">x coordinate</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">y coordinate</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="x_tiles" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of horizintal tiles</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="y_tiles" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of vertical tiles</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_time_code_meta_api_get_type"
|
|
c:identifier="gst_video_time_code_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_time_code_meta_get_info"
|
|
c:identifier="gst_video_time_code_meta_get_info"
|
|
moved-to="VideoTimeCodeMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</namespace>
|
|
</repository>
|