mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-26 18:20:44 +00:00
a1457cff29
Original commit message from CVS: 2005-07-07 Andy Wingo <wingo@pobox.com> * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating debug message.
216 lines
3.8 KiB
Text
216 lines
3.8 KiB
Text
<!-- ##### SECTION Title ##### -->
|
|
GstBin
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
Base class for elements that contain other elements
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
<para>
|
|
GstBin is the simplest of the container elements, allowing elements to
|
|
become children of itself. Pads from the child elements can be ghosted to
|
|
the bin, making the bin itself look transparently like any other element,
|
|
allowing for deep nesting of predefined sub-pipelines.
|
|
</para>
|
|
<para>
|
|
A new GstBin is created with gst_bin_new(). Use a #GstPipeline instead if you want
|
|
to create a toplevel bin because a normal bin doesn't have a scheduler of its
|
|
own.
|
|
</para>
|
|
<para>
|
|
After the bin has been created you will typically add elements to it with
|
|
gst_bin_add(). You can remove elements with gst_bin_remove().
|
|
</para>
|
|
<para>
|
|
An element can be retrieved from a bin with gst_bin_get_by_name(), using the
|
|
elements name. gst_bin_get_by_name_recurse_up() is mainly used for internal
|
|
purposes and will query the parent bins when the element is not found in the
|
|
current bin.
|
|
</para>
|
|
<para>
|
|
The list of elements in a bin can be retrieved with gst_bin_get_list().
|
|
</para>
|
|
<para>
|
|
After the bin has been set to the PLAYING state (with gst_element_set_state()),
|
|
gst_bin_iterate() is used to process the elements in the bin.
|
|
</para>
|
|
<para>
|
|
The "element_added" signal is fired whenever a new element is added to the bin.
|
|
</para>
|
|
<para>
|
|
The "element_removed" signal is fired whenever an element is removed from the bin.
|
|
</para>
|
|
<para>
|
|
gst_bin_destroy() is used to destroy the bin.
|
|
</para>
|
|
<para>
|
|
To control the selection of the clock in a bin, you can use the following methods:
|
|
gst_bin_auto_clock() to let the bin select a clock automatically, gst_bin_get_clock() to
|
|
get the current clock of the bin and gst_bin_use_clock() to specify a clock explicitly.
|
|
Note that the default behaviour is to automatically select a clock from one of the
|
|
clock providers in the bin.
|
|
</para>
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
<!-- ##### STRUCT GstBin ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@numchildren:
|
|
@children:
|
|
@children_cookie:
|
|
@child_bus:
|
|
@eosed:
|
|
|
|
<!-- ##### SIGNAL GstBin::element-added ##### -->
|
|
<para>
|
|
Will be emitted if a new element was removed/added to this bin.
|
|
</para>
|
|
|
|
@gstbin: the object which received the signal.
|
|
@arg1: the element that was added to the bin.
|
|
|
|
<!-- ##### SIGNAL GstBin::element-removed ##### -->
|
|
<para>
|
|
Will be emitted if an element was removed from this bin.
|
|
</para>
|
|
|
|
@gstbin: the object which received the signal.
|
|
@arg1: the element that was removed from the bin.
|
|
|
|
<!-- ##### STRUCT GstBinClass ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@parent_class:
|
|
@add_element:
|
|
@remove_element:
|
|
|
|
<!-- ##### ENUM GstBinFlags ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@GST_BIN_FLAG_LAST:
|
|
|
|
<!-- ##### FUNCTION gst_bin_new ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@name:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_add ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@element:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_remove ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@element:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_get_by_name ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@name:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_get_by_name_recurse_up ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@name:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_get_by_interface ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@interface:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_iterate_elements ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_iterate_recurse ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_iterate_sinks ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_iterate_all_by_interface ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@interface:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_add_many ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@element_1:
|
|
@Varargs:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_remove_many ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@element_1:
|
|
@Varargs:
|
|
|
|
|