Interface for multi child elements.
This interface abstracts handling of property sets for child elements. Imagine
elements such as mixers or polyphonic generators. They all have multiple
<gst-pad> or some kind of voice objects. The element acts as a parent for
those child objects. Each child has the same properties.
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"
also implements the <gst-child-proxy> interface.
<gst-child-proxy*>) (ret unsigned-int)Gets the number of child objects this parent contains.
- parent
- the parent object
- ret
- the number of child objects MT safe.
<gst-child-proxy*>) (name mchars) (ret <gst-object>)Looks up a child element by the given name.
Implementors can use
<gst-object>together withgst-object-get-name
- parent
- the parent object to get the child from
- name
- the childs name
- ret
- the child object or ‘
#f’ if not found. Unref after usage. MT safe.
<gst-child-proxy*>) (index unsigned-int) (ret <gst-object>)Fetches a child by its number.
- parent
- the parent object to get the child from
- index
- the childs position in the child list
- ret
- the child object or ‘
#f’ if not found (index too high). Unref after usage. MT safe.
<gst-object>) (name mchars) (target <gst-object**>) (pspec <g-param-spec**>) (ret bool)Looks up which object and
<gparam>would be effected by the given name.
- object
- object to lookup the property in
- name
- name of the property to look up
- target
- pointer to a
<gst-object>that takes the real object to set property on- pspec
- pointer to take the
<gparam>describing the property- ret
- 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. MT safe.
<gst-object>) (name mchars) (value <gvalue>)Gets a single property using the GstChildProxy mechanism. You are responsible for for freeing it by calling
g-value-unset
- object
- object to query
- name
- name of the property
- value
- a
<gvalue>that should take the result.
<gst-object>) (name mchars) (value <gvalue>)Sets a single property using the GstChildProxy mechanism.
- object
- the parent object
- name
- name of the property to set
- value
- new
<gvalue>for the property