gstreamer-rs/gir-files/GstController-1.0.gir
Marijn Suijten 5744d33ec7 gir-files: Import from gstreamer 1.18.1 at 29a8099d1
This complements an earlier import for gstreamer-base 1.18.1.
2020-12-03 19:38:26 +01:00

1075 lines
49 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 xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
<include name="GLib" version="2.0"/>
<include name="GModule" version="2.0"/>
<include name="GObject" version="2.0"/>
<include name="Gst" version="1.0"/>
<package name="gstreamer-controller-1.0"/>
<c:include name="gst/controller/controller.h"/>
<namespace name="GstController" version="1.0" shared-library="libgstcontroller-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst">
<class name="ARGBControlBinding" c:symbol-prefix="argb_control_binding" c:type="GstARGBControlBinding" parent="Gst.ControlBinding" glib:type-name="GstARGBControlBinding" glib:get-type="gst_argb_control_binding_get_type" glib:type-struct="ARGBControlBindingClass">
<doc xml:space="preserve">A value mapping object that attaches multiple control sources to a guint
gobject properties representing a color. A control value of 0.0 will turn the
color component off and a value of 1.0 will be the color level.</doc>
<constructor name="new" c:identifier="gst_argb_control_binding_new">
<doc xml:space="preserve">Create a new control-binding that attaches the given #GstControlSource to the
#GObject property.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the new #GstARGBControlBinding</doc>
<type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<doc xml:space="preserve">the object of the property</doc>
<type name="Gst.Object" c:type="GstObject*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve">the property-name to attach the control source</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="cs_a" transfer-ownership="none">
<doc xml:space="preserve">the control source for the alpha channel</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</parameter>
<parameter name="cs_r" transfer-ownership="none">
<doc xml:space="preserve">the control source for the red channel</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</parameter>
<parameter name="cs_g" transfer-ownership="none">
<doc xml:space="preserve">the control source for the green channel</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</parameter>
<parameter name="cs_b" transfer-ownership="none">
<doc xml:space="preserve">the control source for the blue channel</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</parameter>
</parameters>
</constructor>
<property name="control-source-a" writable="1" construct="1" transfer-ownership="none">
<type name="Gst.ControlSource"/>
</property>
<property name="control-source-b" writable="1" construct="1" transfer-ownership="none">
<type name="Gst.ControlSource"/>
</property>
<property name="control-source-g" writable="1" construct="1" transfer-ownership="none">
<type name="Gst.ControlSource"/>
</property>
<property name="control-source-r" writable="1" construct="1" transfer-ownership="none">
<type name="Gst.ControlSource"/>
</property>
<field name="parent">
<type name="Gst.ControlBinding" c:type="GstControlBinding"/>
</field>
<field name="cs_a" readable="0" private="1">
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</field>
<field name="cs_r" readable="0" private="1">
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</field>
<field name="cs_g" readable="0" private="1">
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</field>
<field name="cs_b" readable="0" private="1">
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</field>
<field name="cur_value" readable="0" private="1">
<type name="GObject.Value" c:type="GValue"/>
</field>
<field name="last_value" readable="0" private="1">
<type name="guint32" c:type="guint32"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="ARGBControlBindingClass" c:type="GstARGBControlBindingClass" glib:is-gtype-struct-for="ARGBControlBinding">
<doc xml:space="preserve">The class structure of #GstARGBControlBinding.</doc>
<field name="parent_class">
<doc xml:space="preserve">Parent class</doc>
<type name="Gst.ControlBindingClass" c:type="GstControlBindingClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<function-macro name="ARGB_CONTROL_BINDING" c:identifier="GST_ARGB_CONTROL_BINDING" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="ARGB_CONTROL_BINDING_CLASS" c:identifier="GST_ARGB_CONTROL_BINDING_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="ARGB_CONTROL_BINDING_GET_CLASS" c:identifier="GST_ARGB_CONTROL_BINDING_GET_CLASS" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<record name="ControlPoint" c:type="GstControlPoint" glib:type-name="GstControlPoint" glib:get-type="gst_control_point_get_type" c:symbol-prefix="control_point">
<doc xml:space="preserve">An internal structure for value+time and various temporary
values used for interpolation. This "inherits" from
GstTimedValue.</doc>
<field name="timestamp" writable="1">
<doc xml:space="preserve">timestamp of the value change</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</field>
<field name="value" writable="1">
<doc xml:space="preserve">the new value</doc>
<type name="gdouble" c:type="gdouble"/>
</field>
<union name="cache" c:type="cache">
<record name="cubic" c:type="cubic">
<field name="h" writable="1">
<type name="gdouble" c:type="gdouble"/>
</field>
<field name="z" writable="1">
<type name="gdouble" c:type="gdouble"/>
</field>
</record>
<record name="cubic_monotonic" c:type="cubic_monotonic">
<field name="c1s" writable="1">
<type name="gdouble" c:type="gdouble"/>
</field>
<field name="c2s" writable="1">
<type name="gdouble" c:type="gdouble"/>
</field>
<field name="c3s" writable="1">
<type name="gdouble" c:type="gdouble"/>
</field>
</record>
<field name="_gst_reserved" writable="1">
<array zero-terminated="0" fixed-size="64">
<type name="guint8" c:type="guint8"/>
</array>
</field>
</union>
<method name="copy" c:identifier="gst_control_point_copy">
<doc xml:space="preserve">Copies a #GstControlPoint</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">A copy of @cp</doc>
<type name="ControlPoint" c:type="GstControlPoint*"/>
</return-value>
<parameters>
<instance-parameter name="cp" transfer-ownership="none">
<doc xml:space="preserve">The control point to copy</doc>
<type name="ControlPoint" c:type="GstControlPoint*"/>
</instance-parameter>
</parameters>
</method>
<method name="free" c:identifier="gst_control_point_free">
<doc xml:space="preserve">Frees all data allocated by a #GstControlPoint instance.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="cp" transfer-ownership="none">
<doc xml:space="preserve">the object to free</doc>
<type name="ControlPoint" c:type="GstControlPoint*"/>
</instance-parameter>
</parameters>
</method>
</record>
<function-macro name="DIRECT_CONTROL_BINDING" c:identifier="GST_DIRECT_CONTROL_BINDING" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="DIRECT_CONTROL_BINDING_CLASS" c:identifier="GST_DIRECT_CONTROL_BINDING_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="DIRECT_CONTROL_BINDING_GET_CLASS" c:identifier="GST_DIRECT_CONTROL_BINDING_GET_CLASS" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<class name="DirectControlBinding" c:symbol-prefix="direct_control_binding" c:type="GstDirectControlBinding" parent="Gst.ControlBinding" glib:type-name="GstDirectControlBinding" glib:get-type="gst_direct_control_binding_get_type" glib:type-struct="DirectControlBindingClass">
<doc xml:space="preserve">A value mapping object that attaches control sources to gobject properties. It
will map the control values directly to the target property range. If a
non-absolute direct control binding is used, the value range [0.0 ... 1.0]
is mapped to full target property range, and all values outside the range
will be clipped. An absolute control binding will not do any value
transformations.</doc>
<constructor name="new" c:identifier="gst_direct_control_binding_new">
<doc xml:space="preserve">Create a new control-binding that attaches the #GstControlSource to the
#GObject property. It will map the control source range [0.0 ... 1.0] to
the full target property range, and clip all values outside this range.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the new #GstDirectControlBinding</doc>
<type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<doc xml:space="preserve">the object of the property</doc>
<type name="Gst.Object" c:type="GstObject*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve">the property-name to attach the control source</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="cs" transfer-ownership="none">
<doc xml:space="preserve">the control source</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_absolute" c:identifier="gst_direct_control_binding_new_absolute" version="1.6">
<doc xml:space="preserve">Create a new control-binding that attaches the #GstControlSource to the
#GObject property. It will directly map the control source values to the
target property range without any transformations.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the new #GstDirectControlBinding</doc>
<type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<doc xml:space="preserve">the object of the property</doc>
<type name="Gst.Object" c:type="GstObject*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve">the property-name to attach the control source</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="cs" transfer-ownership="none">
<doc xml:space="preserve">the control source</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</parameter>
</parameters>
</constructor>
<property name="absolute" writable="1" construct-only="1" transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="control-source" writable="1" construct="1" transfer-ownership="none">
<type name="Gst.ControlSource"/>
</property>
<field name="parent">
<type name="Gst.ControlBinding" c:type="GstControlBinding"/>
</field>
<field name="cs" readable="0" private="1">
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</field>
<field name="cur_value" readable="0" private="1">
<type name="GObject.Value" c:type="GValue"/>
</field>
<field name="last_value" readable="0" private="1">
<type name="gdouble" c:type="gdouble"/>
</field>
<field name="byte_size" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="convert_value" readable="0" private="1">
<type name="DirectControlBindingConvertValue" c:type="GstDirectControlBindingConvertValue"/>
</field>
<field name="convert_g_value" readable="0" private="1">
<type name="DirectControlBindingConvertGValue" c:type="GstDirectControlBindingConvertGValue"/>
</field>
<union name="ABI" c:type="ABI">
<field name="_gst_reserved" writable="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<record name="abi" c:type="abi">
<field name="want_absolute" writable="1">
<type name="gboolean" c:type="gboolean"/>
</field>
</record>
</union>
</class>
<record name="DirectControlBindingClass" c:type="GstDirectControlBindingClass" glib:is-gtype-struct-for="DirectControlBinding">
<doc xml:space="preserve">The class structure of #GstDirectControlBinding.</doc>
<field name="parent_class">
<doc xml:space="preserve">Parent class</doc>
<type name="Gst.ControlBindingClass" c:type="GstControlBindingClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<callback name="DirectControlBindingConvertGValue" c:type="GstDirectControlBindingConvertGValue">
<doc xml:space="preserve">Function to map a control-value to the target GValue.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstDirectControlBinding instance</doc>
<type name="DirectControlBinding" c:type="GstDirectControlBinding*"/>
</parameter>
<parameter name="src_value" transfer-ownership="none">
<doc xml:space="preserve">the value returned by the cotnrol source</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
<parameter name="dest_value" transfer-ownership="none">
<doc xml:space="preserve">the target GValue</doc>
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</callback>
<callback name="DirectControlBindingConvertValue" c:type="GstDirectControlBindingConvertValue">
<doc xml:space="preserve">Function to map a control-value to the target plain data type.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstDirectControlBinding instance</doc>
<type name="DirectControlBinding" c:type="GstDirectControlBinding*"/>
</parameter>
<parameter name="src_value" transfer-ownership="none">
<doc xml:space="preserve">the value returned by the cotnrol source</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
<parameter name="dest_value" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the target location</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<function-macro name="INTERPOLATION_CONTROL_SOURCE" c:identifier="GST_INTERPOLATION_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="INTERPOLATION_CONTROL_SOURCE_CLASS" c:identifier="GST_INTERPOLATION_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<function-macro name="INTERPOLATION_CONTROL_SOURCE_GET_CLASS" c:identifier="GST_INTERPOLATION_CONTROL_SOURCE_GET_CLASS" introspectable="0">
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ARGB_CONTROL_BINDING" c:identifier="GST_IS_ARGB_CONTROL_BINDING" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ARGB_CONTROL_BINDING_CLASS" c:identifier="GST_IS_ARGB_CONTROL_BINDING_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DIRECT_CONTROL_BINDING" c:identifier="GST_IS_DIRECT_CONTROL_BINDING" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DIRECT_CONTROL_BINDING_CLASS" c:identifier="GST_IS_DIRECT_CONTROL_BINDING_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_INTERPOLATION_CONTROL_SOURCE" c:identifier="GST_IS_INTERPOLATION_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_INTERPOLATION_CONTROL_SOURCE_CLASS" c:identifier="GST_IS_INTERPOLATION_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_LFO_CONTROL_SOURCE" c:identifier="GST_IS_LFO_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_LFO_CONTROL_SOURCE_CLASS" c:identifier="GST_IS_LFO_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROXY_CONTROL_BINDING" c:identifier="GST_IS_PROXY_CONTROL_BINDING" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROXY_CONTROL_BINDING_CLASS" c:identifier="GST_IS_PROXY_CONTROL_BINDING_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TIMED_VALUE_CONTROL_SOURCE" c:identifier="GST_IS_TIMED_VALUE_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TIMED_VALUE_CONTROL_SOURCE_CLASS" c:identifier="GST_IS_TIMED_VALUE_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TRIGGER_CONTROL_SOURCE" c:identifier="GST_IS_TRIGGER_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TRIGGER_CONTROL_SOURCE_CLASS" c:identifier="GST_IS_TRIGGER_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<class name="InterpolationControlSource" c:symbol-prefix="interpolation_control_source" c:type="GstInterpolationControlSource" parent="TimedValueControlSource" glib:type-name="GstInterpolationControlSource" glib:get-type="gst_interpolation_control_source_get_type" glib:type-struct="InterpolationControlSourceClass">
<doc xml:space="preserve">#GstInterpolationControlSource is a #GstControlSource, that interpolates values between user-given
control points. It supports several interpolation modes and property types.
To use #GstInterpolationControlSource get a new instance by calling
gst_interpolation_control_source_new(), bind it to a #GParamSpec and set some
control points by calling gst_timed_value_control_source_set().
All functions are MT-safe.</doc>
<constructor name="new" c:identifier="gst_interpolation_control_source_new">
<doc xml:space="preserve">This returns a new, unbound #GstInterpolationControlSource.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new, unbound #GstInterpolationControlSource.</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</return-value>
</constructor>
<property name="mode" writable="1" transfer-ownership="none">
<type name="InterpolationMode"/>
</property>
<field name="parent">
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource"/>
</field>
<field name="priv" readable="0" private="1">
<type name="InterpolationControlSourcePrivate" c:type="GstInterpolationControlSourcePrivate*"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="InterpolationControlSourceClass" c:type="GstInterpolationControlSourceClass" glib:is-gtype-struct-for="InterpolationControlSource">
<field name="parent_class">
<type name="TimedValueControlSourceClass" c:type="GstTimedValueControlSourceClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="InterpolationControlSourcePrivate" c:type="GstInterpolationControlSourcePrivate" disguised="1">
</record>
<enumeration name="InterpolationMode" glib:type-name="GstInterpolationMode" glib:get-type="gst_interpolation_mode_get_type" c:type="GstInterpolationMode">
<doc xml:space="preserve">The various interpolation modes available.</doc>
<member name="none" value="0" c:identifier="GST_INTERPOLATION_MODE_NONE" glib:nick="none">
<doc xml:space="preserve">steps-like interpolation, default</doc>
</member>
<member name="linear" value="1" c:identifier="GST_INTERPOLATION_MODE_LINEAR" glib:nick="linear">
<doc xml:space="preserve">linear interpolation</doc>
</member>
<member name="cubic" value="2" c:identifier="GST_INTERPOLATION_MODE_CUBIC" glib:nick="cubic">
<doc xml:space="preserve">cubic interpolation (natural), may overshoot
the min or max values set by the control point, but is more 'curvy'</doc>
</member>
<member name="cubic_monotonic" value="3" c:identifier="GST_INTERPOLATION_MODE_CUBIC_MONOTONIC" glib:nick="cubic-monotonic">
<doc xml:space="preserve">monotonic cubic interpolation, will not
produce any values outside of the min-max range set by the control points
(Since: 1.8)</doc>
</member>
</enumeration>
<class name="LFOControlSource" c:symbol-prefix="lfo_control_source" c:type="GstLFOControlSource" parent="Gst.ControlSource" glib:type-name="GstLFOControlSource" glib:get-type="gst_lfo_control_source_get_type" glib:type-struct="LFOControlSourceClass">
<doc xml:space="preserve">#GstLFOControlSource is a #GstControlSource, that provides several periodic
waveforms as control values.
To use #GstLFOControlSource get a new instance by calling
gst_lfo_control_source_new(), bind it to a #GParamSpec and set the relevant
properties.
All functions are MT-safe.</doc>
<constructor name="new" c:identifier="gst_lfo_control_source_new">
<doc xml:space="preserve">This returns a new, unbound #GstLFOControlSource.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new, unbound #GstLFOControlSource.</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</return-value>
</constructor>
<property name="amplitude" writable="1" transfer-ownership="none">
<doc xml:space="preserve">Specifies the amplitude for the waveform of this #GstLFOControlSource.</doc>
<type name="gdouble" c:type="gdouble"/>
</property>
<property name="frequency" writable="1" transfer-ownership="none">
<doc xml:space="preserve">Specifies the frequency that should be used for the waveform
of this #GstLFOControlSource. It should be large enough
so that the period is longer than one nanosecond.</doc>
<type name="gdouble" c:type="gdouble"/>
</property>
<property name="offset" writable="1" transfer-ownership="none">
<doc xml:space="preserve">Specifies the value offset for the waveform of this #GstLFOControlSource.</doc>
<type name="gdouble" c:type="gdouble"/>
</property>
<property name="timeshift" writable="1" transfer-ownership="none">
<doc xml:space="preserve">Specifies the timeshift to the right that should be used for the waveform
of this #GstLFOControlSource in nanoseconds.
To get a n nanosecond shift to the left use
"(GST_SECOND / frequency) - n".</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="waveform" writable="1" transfer-ownership="none">
<doc xml:space="preserve">Specifies the waveform that should be used for this #GstLFOControlSource.</doc>
<type name="LFOWaveform"/>
</property>
<field name="parent">
<type name="Gst.ControlSource" c:type="GstControlSource"/>
</field>
<field name="priv" readable="0" private="1">
<type name="LFOControlSourcePrivate" c:type="GstLFOControlSourcePrivate*"/>
</field>
<field name="lock" readable="0" private="1">
<type name="GLib.Mutex" c:type="GMutex"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="LFOControlSourceClass" c:type="GstLFOControlSourceClass" glib:is-gtype-struct-for="LFOControlSource">
<field name="parent_class">
<type name="Gst.ControlSourceClass" c:type="GstControlSourceClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="LFOControlSourcePrivate" c:type="GstLFOControlSourcePrivate" disguised="1">
</record>
<enumeration name="LFOWaveform" glib:type-name="GstLFOWaveform" glib:get-type="gst_lfo_waveform_get_type" c:type="GstLFOWaveform">
<doc xml:space="preserve">The various waveform modes available.</doc>
<member name="sine" value="0" c:identifier="GST_LFO_WAVEFORM_SINE" glib:nick="sine">
<doc xml:space="preserve">sine waveform</doc>
</member>
<member name="square" value="1" c:identifier="GST_LFO_WAVEFORM_SQUARE" glib:nick="square">
<doc xml:space="preserve">square waveform</doc>
</member>
<member name="saw" value="2" c:identifier="GST_LFO_WAVEFORM_SAW" glib:nick="saw">
<doc xml:space="preserve">saw waveform</doc>
</member>
<member name="reverse_saw" value="3" c:identifier="GST_LFO_WAVEFORM_REVERSE_SAW" glib:nick="reverse-saw">
<doc xml:space="preserve">reverse saw waveform</doc>
</member>
<member name="triangle" value="4" c:identifier="GST_LFO_WAVEFORM_TRIANGLE" glib:nick="triangle">
<doc xml:space="preserve">triangle waveform</doc>
</member>
</enumeration>
<function-macro name="LFO_CONTROL_SOURCE" c:identifier="GST_LFO_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="LFO_CONTROL_SOURCE_CLASS" c:identifier="GST_LFO_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<function-macro name="LFO_CONTROL_SOURCE_GET_CLASS" c:identifier="GST_LFO_CONTROL_SOURCE_GET_CLASS" introspectable="0">
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_CONTROL_BINDING" c:identifier="GST_PROXY_CONTROL_BINDING" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_CONTROL_BINDING_CLASS" c:identifier="GST_PROXY_CONTROL_BINDING_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_CONTROL_BINDING_GET_CLASS" c:identifier="GST_PROXY_CONTROL_BINDING_GET_CLASS" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<class name="ProxyControlBinding" c:symbol-prefix="proxy_control_binding" c:type="GstProxyControlBinding" parent="Gst.ControlBinding" glib:type-name="GstProxyControlBinding" glib:get-type="gst_proxy_control_binding_get_type" glib:type-struct="ProxyControlBindingClass">
<doc xml:space="preserve">A #GstControlBinding that forwards requests to another #GstControlBinding</doc>
<constructor name="new" c:identifier="gst_proxy_control_binding_new" version="1.12">
<doc xml:space="preserve">#GstProxyControlBinding forwards all access to data or `sync_values()`
requests from @property_name on @object to the control binding at
@ref_property_name on @ref_object.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a new #GstControlBinding that proxies the control interface between
properties on different #GstObject's</doc>
<type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<doc xml:space="preserve">a #GstObject</doc>
<type name="Gst.Object" c:type="GstObject*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve">the property name in @object to control</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="ref_object" transfer-ownership="none">
<doc xml:space="preserve">a #GstObject to forward all
#GstControlBinding requests to</doc>
<type name="Gst.Object" c:type="GstObject*"/>
</parameter>
<parameter name="ref_property_name" transfer-ownership="none">
<doc xml:space="preserve">the property_name in @ref_object to control</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</constructor>
<field name="parent" readable="0" private="1">
<type name="Gst.ControlBinding" c:type="GstControlBinding"/>
</field>
<field name="ref_object" readable="0" private="1">
<type name="GObject.WeakRef" c:type="GWeakRef"/>
</field>
<field name="property_name" readable="0" private="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="_padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="ProxyControlBindingClass" c:type="GstProxyControlBindingClass" glib:is-gtype-struct-for="ProxyControlBinding">
<doc xml:space="preserve">Opaque #GstProxyControlBindingClass struct</doc>
<field name="parent_class" readable="0" private="1">
<type name="Gst.ControlBindingClass" c:type="GstControlBindingClass"/>
</field>
<field name="_padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<function-macro name="TIMED_VALUE_CONTROL_SOURCE" c:identifier="GST_TIMED_VALUE_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="TIMED_VALUE_CONTROL_SOURCE_CLASS" c:identifier="GST_TIMED_VALUE_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<function-macro name="TIMED_VALUE_CONTROL_SOURCE_GET_CLASS" c:identifier="GST_TIMED_VALUE_CONTROL_SOURCE_GET_CLASS" introspectable="0">
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TIMED_VALUE_CONTROL_SOURCE_LOCK" c:identifier="GST_TIMED_VALUE_CONTROL_SOURCE_LOCK" introspectable="0">
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="TIMED_VALUE_CONTROL_SOURCE_UNLOCK" c:identifier="GST_TIMED_VALUE_CONTROL_SOURCE_UNLOCK" introspectable="0">
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="TRIGGER_CONTROL_SOURCE" c:identifier="GST_TRIGGER_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="TRIGGER_CONTROL_SOURCE_CLASS" c:identifier="GST_TRIGGER_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<function-macro name="TRIGGER_CONTROL_SOURCE_GET_CLASS" c:identifier="GST_TRIGGER_CONTROL_SOURCE_GET_CLASS" introspectable="0">
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<class name="TimedValueControlSource" c:symbol-prefix="timed_value_control_source" c:type="GstTimedValueControlSource" parent="Gst.ControlSource" abstract="1" glib:type-name="GstTimedValueControlSource" glib:get-type="gst_timed_value_control_source_get_type" glib:type-struct="TimedValueControlSourceClass">
<doc xml:space="preserve">Base class for #GstControlSource that use time-stamped values.
When overriding bind, chain up first to give this bind implementation a
chance to setup things.
All functions are MT-safe.</doc>
<method name="find_control_point_iter" c:identifier="gst_timed_value_control_source_find_control_point_iter">
<doc xml:space="preserve">Find last value before given timestamp in control point list.
If all values in the control point list come after the given
timestamp or no values exist, %NULL is returned.
For use in control source implementations.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the found #GSequenceIter or %NULL</doc>
<type name="GLib.SequenceIter" c:type="GSequenceIter*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the control source to search in</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</instance-parameter>
<parameter name="timestamp" transfer-ownership="none">
<doc xml:space="preserve">the search key</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="get_all" c:identifier="gst_timed_value_control_source_get_all">
<doc xml:space="preserve">Returns a read-only copy of the list of #GstTimedValue for the given property.
Free the list after done with it.</doc>
<return-value transfer-ownership="container">
<doc xml:space="preserve">a copy
of the list, or %NULL if the property isn't handled by the controller</doc>
<type name="GLib.List" c:type="GList*">
<type name="Gst.TimedValue"/>
</type>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstTimedValueControlSource to get the list from</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_count" c:identifier="gst_timed_value_control_source_get_count">
<doc xml:space="preserve">Get the number of control points that are set.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of control points that are set.</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstTimedValueControlSource to get the number of values from</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</instance-parameter>
</parameters>
</method>
<method name="set" c:identifier="gst_timed_value_control_source_set">
<doc xml:space="preserve">Set the value of given controller-handled property at a certain time.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">FALSE if the values couldn't be set, TRUE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstTimedValueControlSource object</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</instance-parameter>
<parameter name="timestamp" transfer-ownership="none">
<doc xml:space="preserve">the time the control-change is scheduled for</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve">the control-value</doc>
<type name="gdouble" c:type="const gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_from_list" c:identifier="gst_timed_value_control_source_set_from_list">
<doc xml:space="preserve">Sets multiple timed values at once.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">FALSE if the values couldn't be set, TRUE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstTimedValueControlSource object</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</instance-parameter>
<parameter name="timedvalues" transfer-ownership="none">
<doc xml:space="preserve">a list
with #GstTimedValue items</doc>
<type name="GLib.SList" c:type="const GSList*">
<type name="Gst.TimedValue"/>
</type>
</parameter>
</parameters>
</method>
<method name="unset" c:identifier="gst_timed_value_control_source_unset">
<doc xml:space="preserve">Used to remove the value of given controller-handled property at a certain
time.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">FALSE if the value couldn't be unset (i.e. not found, TRUE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstTimedValueControlSource object</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</instance-parameter>
<parameter name="timestamp" transfer-ownership="none">
<doc xml:space="preserve">the time the control-change should be removed from</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="unset_all" c:identifier="gst_timed_value_control_source_unset_all">
<doc xml:space="preserve">Used to remove all time-stamped values of given controller-handled property</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstTimedValueControlSource object</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</instance-parameter>
</parameters>
</method>
<field name="parent">
<type name="Gst.ControlSource" c:type="GstControlSource"/>
</field>
<field name="lock">
<type name="GLib.Mutex" c:type="GMutex"/>
</field>
<field name="values">
<type name="GLib.Sequence" c:type="GSequence*"/>
</field>
<field name="nvalues">
<type name="gint" c:type="gint"/>
</field>
<field name="valid_cache">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="priv" readable="0" private="1">
<type name="TimedValueControlSourcePrivate" c:type="GstTimedValueControlSourcePrivate*"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<glib:signal name="value-added" when="first" version="1.6">
<doc xml:space="preserve">Emitted right after the new value has been added to @self</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="timed_value" transfer-ownership="none">
<doc xml:space="preserve">The newly added #GstTimedValue</doc>
<type name="ControlPoint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="value-changed" when="first" version="1.6">
<doc xml:space="preserve">Emitted right after the new value has been set on @timed_signals</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="timed_value" transfer-ownership="none">
<doc xml:space="preserve">The #GstTimedValue where the value changed</doc>
<type name="ControlPoint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="value-removed" when="first" version="1.6">
<doc xml:space="preserve">Emitted when @timed_value is removed from @self</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="timed_value" transfer-ownership="none">
<doc xml:space="preserve">The removed #GstTimedValue</doc>
<type name="ControlPoint"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="TimedValueControlSourceClass" c:type="GstTimedValueControlSourceClass" glib:is-gtype-struct-for="TimedValueControlSource">
<field name="parent_class">
<type name="Gst.ControlSourceClass" c:type="GstControlSourceClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="TimedValueControlSourcePrivate" c:type="GstTimedValueControlSourcePrivate" disguised="1">
</record>
<class name="TriggerControlSource" c:symbol-prefix="trigger_control_source" c:type="GstTriggerControlSource" parent="TimedValueControlSource" glib:type-name="GstTriggerControlSource" glib:get-type="gst_trigger_control_source_get_type" glib:type-struct="TriggerControlSourceClass">
<doc xml:space="preserve">#GstTriggerControlSource is a #GstControlSource, that returns values from user-given
control points. It allows for a tolerance on the time-stamps.
To use #GstTriggerControlSource get a new instance by calling
gst_trigger_control_source_new(), bind it to a #GParamSpec and set some
control points by calling gst_timed_value_control_source_set().
All functions are MT-safe.</doc>
<constructor name="new" c:identifier="gst_trigger_control_source_new">
<doc xml:space="preserve">This returns a new, unbound #GstTriggerControlSource.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new, unbound #GstTriggerControlSource.</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</return-value>
</constructor>
<property name="tolerance" writable="1" transfer-ownership="none">
<type name="gint64" c:type="gint64"/>
</property>
<field name="parent">
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource"/>
</field>
<field name="priv" readable="0" private="1">
<type name="TriggerControlSourcePrivate" c:type="GstTriggerControlSourcePrivate*"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="TriggerControlSourceClass" c:type="GstTriggerControlSourceClass" glib:is-gtype-struct-for="TriggerControlSource">
<field name="parent_class">
<type name="TimedValueControlSourceClass" c:type="GstTimedValueControlSourceClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="TriggerControlSourcePrivate" c:type="GstTriggerControlSourcePrivate" disguised="1">
</record>
<function name="timed_value_control_invalidate_cache" c:identifier="gst_timed_value_control_invalidate_cache">
<doc xml:space="preserve">Reset the controlled value cache.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstTimedValueControlSource</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</parameter>
</parameters>
</function>
</namespace>
</repository>