# GstControlBinding

A base class for value mapping objects that attaches control sources to GObject properties. Such an object is taking one or more GstControlSource instances, combines them and maps the resulting value to the type and value range of the bound property.

## GstControlBinding

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstControlBinding

The instance structure of GstControlBinding.

### Members

`parent` (GstObject) –

the parent structure

`name` (gchar *) –

name of the property of this binding

`pspec` (GParamSpec *) –

GParamSpec for this property

### Class structure

#### GstControlBindingClass

The class structure of GstControlBinding.

##### Fields

`parent_class` (GstObjectClass) –

Parent class

### Gst.ControlBindingClass

The class structure of Gst.ControlBinding.

##### Attributes

`parent_class` (Gst.ObjectClass) –

Parent class

### Gst.ControlBindingClass

The class structure of Gst.ControlBinding.

##### Attributes

`parent_class` (Gst.ObjectClass) –

Parent class

## Gst.ControlBinding

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.ControlBinding

The instance structure of Gst.ControlBinding.

### Members

`parent` (Gst.Object) –

the parent structure

`name` (String) –

name of the property of this binding

`pspec` (GObject.ParamSpec) –

GObject.ParamSpec for this property

## Gst.ControlBinding

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.ControlBinding

The instance structure of Gst.ControlBinding.

### Members

`parent` (Gst.Object) –

the parent structure

`name` (str) –

name of the property of this binding

`pspec` (GObject.ParamSpec) –

GObject.ParamSpec for this property

### Methods

#### gst_control_binding_get_g_value_array

    gboolean
    gst_control_binding_get_g_value_array (GstControlBinding * binding,
                                           GstClockTime timestamp,
                                           GstClockTime interval,
                                           guint n_values,
                                           GValue * values)

Gets a number of GValue for the given controlled property starting at the requested time. The array values need to hold enough space for n_values of GValue.

This function is useful if one wants to e.g. draw a graph of the control curve or apply a control curve sample by sample.

Parameters:

`binding` –

the control binding

`timestamp` –

the time that should be processed

`interval` –

the time spacing between subsequent values

`n_values` –

the number of values

`values` ( [array length=n_values]) –

array to put control-values in

Returns –

TRUE if the given array could be filled, FALSE otherwise

#### Gst.ControlBinding.prototype.get_g_value_array

    function Gst.ControlBinding.prototype.get_g_value_array(timestamp: Number, interval: Number, n_values: Number, values: [ GObject.Value ]): {
        // javascript wrapper for 'gst_control_binding_get_g_value_array'
    }

Gets a number of GObject.Value for the given controlled property starting at the requested time. The array values need to hold enough space for n_values of GObject.Value.

This function is useful if one wants to e.g. draw a graph of the control curve or apply a control curve sample by sample.

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

`timestamp` (Number) –

the time that should be processed

`interval` (Number) –

the time spacing between subsequent values

`n_values` (Number) –

the number of values

`values` ([ GObject.Value ]) –

array to put control-values in

Returns (Number) –

true if the given array could be filled, false otherwise

#### Gst.ControlBinding.get_g_value_array

    def Gst.ControlBinding.get_g_value_array (self, timestamp, interval, n_values, values):
        #python wrapper for 'gst_control_binding_get_g_value_array'

Gets a number of GObject.Value for the given controlled property starting at the requested time. The array values need to hold enough space for n_values of GObject.Value.

This function is useful if one wants to e.g. draw a graph of the control curve or apply a control curve sample by sample.

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

`timestamp` (int) –

the time that should be processed

`interval` (int) –

the time spacing between subsequent values

`n_values` (int) –

the number of values

`values` ([ GObject.Value ]) –

array to put control-values in

Returns (bool) –

True if the given array could be filled, False otherwise

#### gst_control_binding_get_value

    GValue *
    gst_control_binding_get_value (GstControlBinding * binding,
                                   GstClockTime timestamp)

Gets the value for the given controlled property at the requested time.

Parameters:

`binding` –

the control binding

`timestamp` –

the time the control-change should be read from

Returns ( [nullable]) –

the GValue of the property at the given time, or NULL if the property isn't controlled.

#### Gst.ControlBinding.prototype.get_value

    function Gst.ControlBinding.prototype.get_value(timestamp: Number): {
        // javascript wrapper for 'gst_control_binding_get_value'
    }

Gets the value for the given controlled property at the requested time.

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

`timestamp` (Number) –

the time the control-change should be read from

Returns (GObject.Value) –

the GValue of the property at the given time, or null if the property isn't controlled.

#### Gst.ControlBinding.get_value

    def Gst.ControlBinding.get_value (self, timestamp):
        #python wrapper for 'gst_control_binding_get_value'

Gets the value for the given controlled property at the requested time.

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

`timestamp` (int) –

the time the control-change should be read from

Returns (GObject.Value) –

the GValue of the property at the given time, or None if the property isn't controlled.

#### gst_control_binding_get_value_array

    gboolean
    gst_control_binding_get_value_array (GstControlBinding * binding,
                                         GstClockTime timestamp,
                                         GstClockTime interval,
                                         guint n_values,
                                         gpointer values)

Gets a number of values for the given controlled property starting at the requested time. The array values needs to hold enough space for n_values of the same type as the objects property's type.

This function is useful if one wants to e.g. draw a graph of the control curve or apply a control curve sample by sample.

The values are unboxed and ready to be used. The similar function gst_control_binding_get_g_value_array returns the array as GValue and is more suitable for bindings.

Parameters:

`binding` –

the control binding

`timestamp` –

the time that should be processed

`interval` –

the time spacing between subsequent values

`n_values` –

the number of values

`values` ( [array length=n_values]) –

array to put control-values in

Returns –

TRUE if the given array could be filled, FALSE otherwise

#### gst_control_binding_is_disabled

    gboolean
    gst_control_binding_is_disabled (GstControlBinding * binding)

Checks if the control binding is disabled.

Parameters:

`binding` –

the control binding

Returns –

TRUE if the binding is inactive

#### Gst.ControlBinding.prototype.is_disabled

    function Gst.ControlBinding.prototype.is_disabled(): {
        // javascript wrapper for 'gst_control_binding_is_disabled'
    }

Checks if the control binding is disabled.

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

Returns (Number) –

true if the binding is inactive

#### Gst.ControlBinding.is_disabled

    def Gst.ControlBinding.is_disabled (self):
        #python wrapper for 'gst_control_binding_is_disabled'

Checks if the control binding is disabled.

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

Returns (bool) –

True if the binding is inactive

#### gst_control_binding_set_disabled

    gst_control_binding_set_disabled (GstControlBinding * binding,
                                      gboolean disabled)

This function is used to disable a control binding for some time, i.e. gst_object_sync_values will do nothing.

Parameters:

`binding` –

the control binding

`disabled` –

boolean that specifies whether to disable the controller or not.

#### Gst.ControlBinding.prototype.set_disabled

    function Gst.ControlBinding.prototype.set_disabled(disabled: Number): {
        // javascript wrapper for 'gst_control_binding_set_disabled'
    }

This function is used to disable a control binding for some time, i.e. Gst.Object.prototype.sync_values will do nothing.

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

`disabled` (Number) –

boolean that specifies whether to disable the controller or not.

#### Gst.ControlBinding.set_disabled

    def Gst.ControlBinding.set_disabled (self, disabled):
        #python wrapper for 'gst_control_binding_set_disabled'

This function is used to disable a control binding for some time, i.e. Gst.Object.sync_values will do nothing.

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

`disabled` (bool) –

boolean that specifies whether to disable the controller or not.

#### gst_control_binding_sync_values

    gboolean
    gst_control_binding_sync_values (GstControlBinding * binding,
                                     GstObject * object,
                                     GstClockTime timestamp,
                                     GstClockTime last_sync)

Sets the property of the object, according to the GstControlSource that handles it and for the given timestamp.

If this function fails, it is most likely the application developers fault. Most probably the control sources are not setup correctly.

Parameters:

`binding` –

the control binding

`object` –

the object that has controlled properties

`timestamp` –

the time that should be processed

`last_sync` –

the last time this was called

Returns –

TRUE if the controller value could be applied to the object property, FALSE otherwise

#### Gst.ControlBinding.prototype.sync_values

    function Gst.ControlBinding.prototype.sync_values(object: Gst.Object, timestamp: Number, last_sync: Number): {
        // javascript wrapper for 'gst_control_binding_sync_values'
    }

Sets the property of the object, according to the Gst.ControlSource that handles it and for the given timestamp.

If this function fails, it is most likely the application developers fault. Most probably the control sources are not setup correctly.

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

`object` (Gst.Object) –

the object that has controlled properties

`timestamp` (Number) –

the time that should be processed

`last_sync` (Number) –

the last time this was called

Returns (Number) –

true if the controller value could be applied to the object property, false otherwise

#### Gst.ControlBinding.sync_values

    def Gst.ControlBinding.sync_values (self, object, timestamp, last_sync):
        #python wrapper for 'gst_control_binding_sync_values'

Sets the property of the object, according to the Gst.ControlSource that handles it and for the given timestamp.

If this function fails, it is most likely the application developers fault. Most probably the control sources are not setup correctly.

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

`object` (Gst.Object) –

the object that has controlled properties

`timestamp` (int) –

the time that should be processed

`last_sync` (int) –

the last time this was called

Returns (bool) –

True if the controller value could be applied to the object property, False otherwise

### Properties

#### name

    “name” gchar *

Flags : Read / Write / Construct Only

#### name

    “name” String

Flags : Read / Write / Construct Only

#### name

    “self.props.name” str

Flags : Read / Write / Construct Only

#### object

    “object” GstObject *

Flags : Read / Write / Construct Only

#### object

    “object” Gst.Object

Flags : Read / Write / Construct Only

#### object

    “self.props.object” Gst.Object

Flags : Read / Write / Construct Only

### Virtual Methods

#### get_g_value_array

    gboolean
    get_g_value_array (GstControlBinding * binding,
                       GstClockTime timestamp,
                       GstClockTime interval,
                       guint n_values,
                       GValue * values)

Fetch a series of control-values as g_values

Parameters:

`binding` –

the control binding

`timestamp` –

the time that should be processed

`interval` –

the time spacing between subsequent values

`n_values` –

the number of values

`values` ( [array length=n_values]) –

array to put control-values in

Returns –

TRUE if the given array could be filled, FALSE otherwise

#### vfunc_get_g_value_array

    function vfunc_get_g_value_array(binding: Gst.ControlBinding, timestamp: Number, interval: Number, n_values: Number, values: [ GObject.Value ]): {
        // javascript implementation of the 'get_g_value_array' virtual method
    }

Fetch a series of control-values as g_values

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

`timestamp` (Number) –

the time that should be processed

`interval` (Number) –

the time spacing between subsequent values

`n_values` (Number) –

the number of values

`values` ([ GObject.Value ]) –

array to put control-values in

Returns (Number) –

true if the given array could be filled, false otherwise

#### do_get_g_value_array

    def do_get_g_value_array (binding, timestamp, interval, n_values, values):
        #python implementation of the 'get_g_value_array' virtual method

Fetch a series of control-values as g_values

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

`timestamp` (int) –

the time that should be processed

`interval` (int) –

the time spacing between subsequent values

`n_values` (int) –

the number of values

`values` ([ GObject.Value ]) –

array to put control-values in

Returns (bool) –

True if the given array could be filled, False otherwise

#### get_value

    GValue *
    get_value (GstControlBinding * binding,
               GstClockTime timestamp)

Fetch a single control-value

Parameters:

`binding` –

the control binding

`timestamp` –

the time the control-change should be read from

Returns ( [nullable]) –

the GValue of the property at the given time, or NULL if the property isn't controlled.

#### vfunc_get_value

    function vfunc_get_value(binding: Gst.ControlBinding, timestamp: Number): {
        // javascript implementation of the 'get_value' virtual method
    }

Fetch a single control-value

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

`timestamp` (Number) –

the time the control-change should be read from

Returns (GObject.Value) –

the GValue of the property at the given time, or null if the property isn't controlled.

#### do_get_value

    def do_get_value (binding, timestamp):
        #python implementation of the 'get_value' virtual method

Fetch a single control-value

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

`timestamp` (int) –

the time the control-change should be read from

Returns (GObject.Value) –

the GValue of the property at the given time, or None if the property isn't controlled.

#### get_value_array

    gboolean
    get_value_array (GstControlBinding * binding,
                     GstClockTime timestamp,
                     GstClockTime interval,
                     guint n_values,
                     gpointer values)

Fetch a series of control-values

Parameters:

`binding` –

the control binding

`timestamp` –

the time that should be processed

`interval` –

the time spacing between subsequent values

`n_values` –

the number of values

`values` ( [array length=n_values]) –

array to put control-values in

Returns –

TRUE if the given array could be filled, FALSE otherwise

#### sync_values

    gboolean
    sync_values (GstControlBinding * binding,
                 GstObject * object,
                 GstClockTime timestamp,
                 GstClockTime last_sync)

Update the target values

Parameters:

`binding` –

the control binding

`object` –

the object that has controlled properties

`timestamp` –

the time that should be processed

`last_sync` –

the last time this was called

Returns –

TRUE if the controller value could be applied to the object property, FALSE otherwise

#### vfunc_sync_values

    function vfunc_sync_values(binding: Gst.ControlBinding, object: Gst.Object, timestamp: Number, last_sync: Number): {
        // javascript implementation of the 'sync_values' virtual method
    }

Update the target values

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

`object` (Gst.Object) –

the object that has controlled properties

`timestamp` (Number) –

the time that should be processed

`last_sync` (Number) –

the last time this was called

Returns (Number) –

true if the controller value could be applied to the object property, false otherwise

#### do_sync_values

    def do_sync_values (binding, object, timestamp, last_sync):
        #python implementation of the 'sync_values' virtual method

Update the target values

Parameters:

`binding` (Gst.ControlBinding) –

the control binding

`object` (Gst.Object) –

the object that has controlled properties

`timestamp` (int) –

the time that should be processed

`last_sync` (int) –

the last time this was called

Returns (bool) –

True if the controller value could be applied to the object property, False otherwise

## Function Macros

### GST_CONTROL_BINDING_PSPEC

    #define GST_CONTROL_BINDING_PSPEC(cb) (((GstControlBinding *) cb)->pspec)

## Constants

### GST_TYPE_CONTROL_BINDING

    #define GST_TYPE_CONTROL_BINDING \
      (gst_control_binding_get_type())

The results of the search are