# GstChildProxy

This interface abstracts handling of property sets for elements with children. Imagine elements such as mixers or polyphonic generators. They all have multiple GstPad or some kind of voice objects. Another use case are container elements like GstBin. The element implementing the interface acts as a parent for those child objects.

By implementing this interface the child properties can be accessed from the parent element by using gst_child_proxy_get and gst_child_proxy_set.

Property names are written as `child-name::property-name`. The whole naming scheme is recursive. Thus `child1::child2::property` is valid too, if `child1` and `child2` implement the GstChildProxy interface.

## GstChildProxy

Opaque GstChildProxy data structure.

## Gst.ChildProxy

Opaque Gst.ChildProxy data structure.

## Gst.ChildProxy

Opaque Gst.ChildProxy data structure.

### Methods

#### gst_child_proxy_child_added

    gst_child_proxy_child_added (GstChildProxy * parent,
                                 GObject * child,
                                 const gchar * name)

Emits the child-added signal.

Parameters:

`parent` –

the parent object

`child` –

the newly added child

`name` –

the name of the new child

#### Gst.ChildProxy.prototype.child_added

    function Gst.ChildProxy.prototype.child_added(child: GObject.Object, name: String): {
        // javascript wrapper for 'gst_child_proxy_child_added'
    }

Emits the child-added signal.

Parameters:

`parent` (Gst.ChildProxy) –

the parent object

`child` (GObject.Object) –

the newly added child

`name` (String) –

the name of the new child

#### Gst.ChildProxy.child_added

    def Gst.ChildProxy.child_added (self, child, name):
        #python wrapper for 'gst_child_proxy_child_added'

Emits the child-added signal.

Parameters:

`parent` (Gst.ChildProxy) –

the parent object

`child` (GObject.Object) –

the newly added child

`name` (str) –

the name of the new child

#### gst_child_proxy_child_removed

    gst_child_proxy_child_removed (GstChildProxy * parent,
                                   GObject * child,
                                   const gchar * name)

Emits the child-removed signal.

Parameters:

`parent` –

the parent object

`child` –

the removed child

`name` –

the name of the old child

#### Gst.ChildProxy.prototype.child_removed

    function Gst.ChildProxy.prototype.child_removed(child: GObject.Object, name: String): {
        // javascript wrapper for 'gst_child_proxy_child_removed'
    }

Emits the child-removed signal.

Parameters:

`parent` (Gst.ChildProxy) –

the parent object

`child` (GObject.Object) –

the removed child

`name` (String) –

the name of the old child

#### Gst.ChildProxy.child_removed

    def Gst.ChildProxy.child_removed (self, child, name):
        #python wrapper for 'gst_child_proxy_child_removed'

Emits the child-removed signal.

Parameters:

`parent` (Gst.ChildProxy) –

the parent object

`child` (GObject.Object) –

the removed child

`name` (str) –

the name of the old child

#### gst_child_proxy_get

    gst_child_proxy_get (GstChildProxy * object,
                         const gchar * first_property_name,
                         ... ...)

Gets properties of the parent object and its children.

Parameters:

`object` –

the parent object

`first_property_name` –

name of the first property to get

`...` –

return location for the first property, followed optionally by more name/return location pairs, followed by NULL

#### gst_child_proxy_get_child_by_index

    GObject *
    gst_child_proxy_get_child_by_index (GstChildProxy * parent,
                                        guint index)

Fetches a child by its number.

Parameters:

`parent` –

the parent object to get the child from

`index` –

the child's position in the child list

Returns ( [transfer: full][nullable]) –

the child object or NULL if not found (index too high).

#### Gst.ChildProxy.prototype.get_child_by_index

    function Gst.ChildProxy.prototype.get_child_by_index(index: Number): {
        // javascript wrapper for 'gst_child_proxy_get_child_by_index'
    }

Fetches a child by its number.

Parameters:

`parent` (Gst.ChildProxy) –

the parent object to get the child from

`index` (Number) –

the child's position in the child list

Returns (GObject.Object) –

the child object or null if not found (index too high).

#### Gst.ChildProxy.get_child_by_index

    def Gst.ChildProxy.get_child_by_index (self, index):
        #python wrapper for 'gst_child_proxy_get_child_by_index'

Fetches a child by its number.

Parameters:

`parent` (Gst.ChildProxy) –

the parent object to get the child from

`index` (int) –

the child's position in the child list

Returns (GObject.Object) –

the child object or None if not found (index too high).

#### gst_child_proxy_get_child_by_name

    GObject *
    gst_child_proxy_get_child_by_name (GstChildProxy * parent,
                                       const gchar * name)

Looks up a child element by the given name.

This virtual method has a default implementation that uses GstObject together with gst_object_get_name. If the interface is to be used with GObject, this methods needs to be overridden.

Parameters:

`parent` –

the parent object to get the child from

`name` –

the child's name

Returns ( [transfer: full][nullable]) –

the child object or NULL if not found.

#### Gst.ChildProxy.prototype.get_child_by_name

    function Gst.ChildProxy.prototype.get_child_by_name(name: String): {
        // javascript wrapper for 'gst_child_proxy_get_child_by_name'
    }

Looks up a child element by the given name.

This virtual method has a default implementation that uses Gst.Object together with Gst.Object.prototype.get_name. If the interface is to be used with GObject.Object, this methods needs to be overridden.

Parameters:

`parent` (Gst.ChildProxy) –

the parent object to get the child from

`name` (String) –

the child's name

Returns (GObject.Object) –

the child object or null if not found.

#### Gst.ChildProxy.get_child_by_name

    def Gst.ChildProxy.get_child_by_name (self, name):
        #python wrapper for 'gst_child_proxy_get_child_by_name'

Looks up a child element by the given name.

This virtual method has a default implementation that uses Gst.Object together with Gst.Object.get_name. If the interface is to be used with GObject.Object, this methods needs to be overridden.

Parameters:

`parent` (Gst.ChildProxy) –

the parent object to get the child from

`name` (str) –

the child's name

Returns (GObject.Object) –

the child object or None if not found.

#### gst_child_proxy_get_children_count

    guint
    gst_child_proxy_get_children_count (GstChildProxy * parent)

Gets the number of child objects this parent contains.

Parameters:

`parent` –

the parent object

Returns –

the number of child objects

#### Gst.ChildProxy.prototype.get_children_count

    function Gst.ChildProxy.prototype.get_children_count(): {
        // javascript wrapper for 'gst_child_proxy_get_children_count'
    }

Gets the number of child objects this parent contains.

Parameters:

`parent` (Gst.ChildProxy) –

the parent object

Returns (Number) –

the number of child objects

#### Gst.ChildProxy.get_children_count

    def Gst.ChildProxy.get_children_count (self):
        #python wrapper for 'gst_child_proxy_get_children_count'

Gets the number of child objects this parent contains.

Parameters:

`parent` (Gst.ChildProxy) –

the parent object

Returns (int) –

the number of child objects

#### gst_child_proxy_get_property

    gst_child_proxy_get_property (GstChildProxy * object,
                                  const gchar * name,
                                  GValue * value)

Gets a single property using the GstChildProxy mechanism. You are responsible for freeing it by calling g_value_unset

Parameters:

`object` –

object to query

`name` –

name of the property

`value` ( [out]) –

a GValue that should take the result.

#### Gst.ChildProxy.prototype.get_property

    function Gst.ChildProxy.prototype.get_property(name: String): {
        // javascript wrapper for 'gst_child_proxy_get_property'
    }

Gets a single property using the GstChildProxy mechanism. You are responsible for freeing it by calling GObject.Value.prototype.unset

Parameters:

`object` (Gst.ChildProxy) –

object to query

`name` (String) –

name of the property

#### Gst.ChildProxy.get_property

    def Gst.ChildProxy.get_property (self, name):
        #python wrapper for 'gst_child_proxy_get_property'

Gets a single property using the GstChildProxy mechanism. You are responsible for freeing it by calling GObject.Value.unset

Parameters:

`object` (Gst.ChildProxy) –

object to query

`name` (str) –

name of the property

#### gst_child_proxy_get_valist

    gst_child_proxy_get_valist (GstChildProxy * object,
                                const gchar * first_property_name,
                                va_list var_args)

Gets properties of the parent object and its children.

Parameters:

`object` –

the object to query

`first_property_name` –

name of the first property to get

`var_args` –

return location for the first property, followed optionally by more name/return location pairs, followed by NULL

#### gst_child_proxy_lookup

    gboolean
    gst_child_proxy_lookup (GstChildProxy * object,
                            const gchar * name,
                            GObject ** target,
                            GParamSpec ** pspec)

Looks up which object and GParamSpec would be effected by the given name.

Parameters:

`object` –

child proxy object to lookup the property in

`name` –

name of the property to look up

`target` ( [out][allow-none][transfer: full]) –

pointer to a GObject that takes the real object to set property on

`pspec` ( [out][allow-none][transfer: none]) –

pointer to take the GParamSpec describing the property

Returns –

TRUE if target and pspec could be found. FALSE otherwise. In that case the values for pspec and target are not modified. Unref target after usage. For plain GObject target is the same as object.

#### Gst.ChildProxy.prototype.lookup

    function Gst.ChildProxy.prototype.lookup(name: String): {
        // javascript wrapper for 'gst_child_proxy_lookup'
    }

Looks up which object and GObject.ParamSpec would be effected by the given name.

Parameters:

`object` (Gst.ChildProxy) –

child proxy object to lookup the property in

`name` (String) –

name of the property to look up

Returns a tuple made of:

(Number ) –

true if target and pspec could be found. false otherwise. In that case the values for pspec and target are not modified. Unref target after usage. For plain GObject.Object target is the same as object.

`target` (GObject.Object ) –

true if target and pspec could be found. false otherwise. In that case the values for pspec and target are not modified. Unref target after usage. For plain GObject.Object target is the same as object.

`pspec` (GObject.ParamSpec ) –

true if target and pspec could be found. false otherwise. In that case the values for pspec and target are not modified. Unref target after usage. For plain GObject.Object target is the same as object.

#### Gst.ChildProxy.lookup

    def Gst.ChildProxy.lookup (self, name):
        #python wrapper for 'gst_child_proxy_lookup'

Looks up which object and GObject.ParamSpec would be effected by the given name.

Parameters:

`object` (Gst.ChildProxy) –

child proxy object to lookup the property in

`name` (str) –

name of the property to look up

Returns a tuple made of:

(bool ) –

True if target and pspec could be found. False otherwise. In that case the values for pspec and target are not modified. Unref target after usage. For plain GObject.Object target is the same as object.

`target` (GObject.Object ) –

True if target and pspec could be found. False otherwise. In that case the values for pspec and target are not modified. Unref target after usage. For plain GObject.Object target is the same as object.

`pspec` (GObject.ParamSpec ) –

True if target and pspec could be found. False otherwise. In that case the values for pspec and target are not modified. Unref target after usage. For plain GObject.Object target is the same as object.

#### gst_child_proxy_set

    gst_child_proxy_set (GstChildProxy * object,
                         const gchar * first_property_name,
                         ... ...)

Sets properties of the parent object and its children.

Parameters:

`object` –

the parent object

`first_property_name` –

name of the first property to set

`...` –

value for the first property, followed optionally by more name/value pairs, followed by NULL

#### gst_child_proxy_set_property

    gst_child_proxy_set_property (GstChildProxy * object,
                                  const gchar * name,
                                  const GValue * value)

Sets a single property using the GstChildProxy mechanism.

Parameters:

`object` –

the parent object

`name` –

name of the property to set

`value` –

new GValue for the property

#### Gst.ChildProxy.prototype.set_property

    function Gst.ChildProxy.prototype.set_property(name: String, value: GObject.Value): {
        // javascript wrapper for 'gst_child_proxy_set_property'
    }

Sets a single property using the GstChildProxy mechanism.

Parameters:

`object` (Gst.ChildProxy) –

the parent object

`name` (String) –

name of the property to set

`value` (GObject.Value) –

new GObject.Value for the property

#### Gst.ChildProxy.set_property

    def Gst.ChildProxy.set_property (self, name, value):
        #python wrapper for 'gst_child_proxy_set_property'

Sets a single property using the GstChildProxy mechanism.

Parameters:

`object` (Gst.ChildProxy) –

the parent object

`name` (str) –

name of the property to set

`value` (GObject.Value) –

new GObject.Value for the property

#### gst_child_proxy_set_valist

    gst_child_proxy_set_valist (GstChildProxy * object,
                                const gchar * first_property_name,
                                va_list var_args)

Sets properties of the parent object and its children.

Parameters:

`object` –

the parent object

`first_property_name` –

name of the first property to set

`var_args` –

value for the first property, followed optionally by more name/value pairs, followed by NULL

### Signals

#### child-added

    child_added_callback (GstChildProxy * self,
                          GObject * object,
                          gchar * name,
                          gpointer user_data)

Will be emitted after the object was added to the child_proxy.

Parameters:

`self` –

the GstChildProxy

`object` –

the GObject that was added

`name` –

the name of the new child

`user_data` –
No description available

Flags: Run First

#### child-added

    function child_added_callback(self: Gst.ChildProxy, object: GObject.Object, name: String, user_data: Object): {
        // javascript callback for the 'child-added' signal
    }

Will be emitted after the object was added to the child_proxy.

Parameters:

`self` (Gst.ChildProxy) –

the Gst.ChildProxy

`object` (GObject.Object) –

the GObject.Object that was added

`name` (String) –

the name of the new child

`user_data` (Object) –
No description available

Flags: Run First

#### child-added

    def child_added_callback (self, object, name, *user_data):
        #python callback for the 'child-added' signal

Will be emitted after the object was added to the child_proxy.

Parameters:

`self` (Gst.ChildProxy) –

the Gst.ChildProxy

`object` (GObject.Object) –

the GObject.Object that was added

`name` (str) –

the name of the new child

`user_data` (variadic) –
No description available

Flags: Run First

#### child-removed

    child_removed_callback (GstChildProxy * self,
                            GObject * object,
                            gchar * name,
                            gpointer user_data)

Will be emitted after the object was removed from the child_proxy.

Parameters:

`self` –

the GstChildProxy

`object` –

the GObject that was removed

`name` –

the name of the old child

`user_data` –
No description available

Flags: Run First

#### child-removed

    function child_removed_callback(self: Gst.ChildProxy, object: GObject.Object, name: String, user_data: Object): {
        // javascript callback for the 'child-removed' signal
    }

Will be emitted after the object was removed from the child_proxy.

Parameters:

`self` (Gst.ChildProxy) –

the Gst.ChildProxy

`object` (GObject.Object) –

the GObject.Object that was removed

`name` (String) –

the name of the old child

`user_data` (Object) –
No description available

Flags: Run First

#### child-removed

    def child_removed_callback (self, object, name, *user_data):
        #python callback for the 'child-removed' signal

Will be emitted after the object was removed from the child_proxy.

Parameters:

`self` (Gst.ChildProxy) –

the Gst.ChildProxy

`object` (GObject.Object) –

the GObject.Object that was removed

`name` (str) –

the name of the old child

`user_data` (variadic) –
No description available

Flags: Run First

### Virtual Methods

#### child_added

    child_added (GstChildProxy * parent,
                 GObject * child,
                 const gchar * name)

Called when child is added to parent

Parameters:

`parent` –

the GstChildProxy

`child` –

the child object

`name` –

the name of the child object

#### vfunc_child_added

    function vfunc_child_added(parent: Gst.ChildProxy, child: GObject.Object, name: String): {
        // javascript implementation of the 'child_added' virtual method
    }

Called when child is added to parent

Parameters:

`parent` (Gst.ChildProxy) –

the Gst.ChildProxy

`child` (GObject.Object) –

the child object

`name` (String) –

the name of the child object

#### do_child_added

    def do_child_added (parent, child, name):
        #python implementation of the 'child_added' virtual method

Called when child is added to parent

Parameters:

`parent` (Gst.ChildProxy) –

the Gst.ChildProxy

`child` (GObject.Object) –

the child object

`name` (str) –

the name of the child object

#### child_removed

    child_removed (GstChildProxy * parent,
                   GObject * child,
                   const gchar * name)

Called when child is removed from parent

Parameters:

`parent` –

the GstChildProxy

`child` –

the child object

`name` –

the name of the child object

#### vfunc_child_removed

    function vfunc_child_removed(parent: Gst.ChildProxy, child: GObject.Object, name: String): {
        // javascript implementation of the 'child_removed' virtual method
    }

Called when child is removed from parent

Parameters:

`parent` (Gst.ChildProxy) –

the Gst.ChildProxy

`child` (GObject.Object) –

the child object

`name` (String) –

the name of the child object

#### do_child_removed

    def do_child_removed (parent, child, name):
        #python implementation of the 'child_removed' virtual method

Called when child is removed from parent

Parameters:

`parent` (Gst.ChildProxy) –

the Gst.ChildProxy

`child` (GObject.Object) –

the child object

`name` (str) –

the name of the child object

#### get_child_by_index

    GObject *
    get_child_by_index (GstChildProxy * parent,
                        guint index)

Fetch a child object by index

Parameters:

`parent` –

the GstChildProxy

`index` –

the index of the child to fetch

Returns ( [transfer: full][nullable]) –

the child object

#### vfunc_get_child_by_index

    function vfunc_get_child_by_index(parent: Gst.ChildProxy, index: Number): {
        // javascript implementation of the 'get_child_by_index' virtual method
    }

Fetch a child object by index

Parameters:

`parent` (Gst.ChildProxy) –

the Gst.ChildProxy

`index` (Number) –

the index of the child to fetch

Returns (GObject.Object) –

the child object

#### do_get_child_by_index

    def do_get_child_by_index (parent, index):
        #python implementation of the 'get_child_by_index' virtual method

Fetch a child object by index

Parameters:

`parent` (Gst.ChildProxy) –

the Gst.ChildProxy

`index` (int) –

the index of the child to fetch

Returns (GObject.Object) –

the child object

#### get_child_by_name

    GObject *
    get_child_by_name (GstChildProxy * parent,
                       const gchar * name)

Fetch a child object by name

Parameters:

`parent` –

the GstChildProxy

`name` –

the name of the child to fetch

Returns ( [transfer: full][nullable]) –

the child object

#### vfunc_get_child_by_name

    function vfunc_get_child_by_name(parent: Gst.ChildProxy, name: String): {
        // javascript implementation of the 'get_child_by_name' virtual method
    }

Fetch a child object by name

Parameters:

`parent` (Gst.ChildProxy) –

the Gst.ChildProxy

`name` (String) –

the name of the child to fetch

Returns (GObject.Object) –

the child object

#### do_get_child_by_name

    def do_get_child_by_name (parent, name):
        #python implementation of the 'get_child_by_name' virtual method

Fetch a child object by name

Parameters:

`parent` (Gst.ChildProxy) –

the Gst.ChildProxy

`name` (str) –

the name of the child to fetch

Returns (GObject.Object) –

the child object

#### get_children_count

    guint
    get_children_count (GstChildProxy * parent)

Get the number of children in parent

Parameters:

`parent` –

the GstChildProxy

Returns –

the number of children

#### vfunc_get_children_count

    function vfunc_get_children_count(parent: Gst.ChildProxy): {
        // javascript implementation of the 'get_children_count' virtual method
    }

Get the number of children in parent

Parameters:

`parent` (Gst.ChildProxy) –

the Gst.ChildProxy

Returns (Number) –

the number of children

#### do_get_children_count

    def do_get_children_count (parent):
        #python implementation of the 'get_children_count' virtual method

Get the number of children in parent

Parameters:

`parent` (Gst.ChildProxy) –

the Gst.ChildProxy

Returns (int) –

the number of children

## Function Macros

### GST_CHILD_PROXY_GET_INTERFACE

    #define GST_CHILD_PROXY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_CHILD_PROXY, GstChildProxyInterface))

The results of the search are