mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-02 14:36:41 +00:00
209c82ee06
Original commit message from CVS: * docs/gst/gstreamer-sections.txt: More doc hacking. * docs/gst/tmpl/gstaggregator.sgml: * docs/gst/tmpl/gstautoplugfactory.sgml: * docs/gst/tmpl/gstbin.sgml: * docs/gst/tmpl/gstbuffer.sgml: * docs/gst/tmpl/gstbufferstore.sgml: * docs/gst/tmpl/gstfakesink.sgml: * docs/gst/tmpl/gstfakesrc.sgml: * docs/gst/tmpl/gstmd5sink.sgml: * docs/gst/tmpl/gstreamer-unused.sgml: * docs/gst/tmpl/gstsearchfuncs.sgml: * docs/gst/tmpl/gstshaper.sgml: * docs/gst/tmpl/gstspider.sgml: * docs/gst/tmpl/gsttee.sgml: * docs/gst/tmpl/gstutils.sgml: * docs/gst/tmpl/gstvalue.sgml: * docs/gst/tmpl/gstxml.sgml: * gst/Makefile.am: Remove gstthreaddummy.c. It never worked, and we don't support it. * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post), (gst_use_threads), (gst_has_threads): same * gst/gstthreaddummy.c: same * gst/autoplug/gstspider.c: Make gst_spider_details static. * gst/autoplug/gstspider.h: same * gst/elements/gstaggregator.h: Remove bogus function from header * gst/elements/gstfakesink.h: same * gst/elements/gstfakesrc.h: same * gst/elements/gstmd5sink.h: same * gst/elements/gstshaper.h: same * gst/elements/gsttee.h: same * gst/gstbin.c: doc fixes * gst/gstbin.h: Remove unused definition. * gst/gstbuffer.c: doc fixes * gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes * gst/gstfilter.c: doc fixes * gst/gsttag.c: doc fixes * gst/gstvalue.c: doc fixes
255 lines
4.7 KiB
Text
255 lines
4.7 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>
|
|
|
|
<!-- ##### MACRO GST_BIN_CLASS ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@klass:
|
|
|
|
|
|
<!-- ##### ENUM GstBinFlags ##### -->
|
|
<para>
|
|
Flags for a bin.
|
|
</para>
|
|
|
|
@GST_BIN_FLAG_MANAGER: This bin has a scheduler and can be used as a toplevel bin.
|
|
@GST_BIN_SELF_SCHEDULABLE: This bin iterates itself, so no calls to gst_bin_iterate() should be made.
|
|
@GST_BIN_FLAG_PREFER_COTHREADS: This bin preferes to have its elements scheduled with cothreads
|
|
@GST_BIN_FLAG_FIXED_CLOCK: This bin uses a fixed clock, possibly the one set with gst_bin_use_clock().
|
|
@GST_BIN_FLAG_LAST:
|
|
|
|
<!-- ##### FUNCTION gst_bin_new ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@name:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_add ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@element:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_add_many ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@element_1:
|
|
@Varargs:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_remove ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@element:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_remove_many ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@element_1:
|
|
@Varargs:
|
|
|
|
|
|
<!-- ##### 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_list ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_get_by_interface ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@interface:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_get_all_by_interface ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@interface:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_iterate ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_use_clock ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@clock:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_get_clock ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_auto_clock ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_sync_children_state ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_bin_child_state_change ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@bin:
|
|
@oldstate:
|
|
@newstate:
|
|
@child:
|
|
|
|
|
|
<!-- ##### SIGNAL GstBin::element-added ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@gstbin: the object which received the signal.
|
|
@arg1: the element that was added to the bin
|
|
|
|
<!-- ##### SIGNAL GstBin::element-removed ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@gstbin: the object which received the signal.
|
|
@arg1: the element that was removed from the bin
|
|
|
|
<!-- ##### SIGNAL GstBin::iterate ##### -->
|
|
<para>
|
|
This signal is emitted when a bin iterates, either automatically or
|
|
due to a #gst_bin_iterate() call. The return value is used to
|
|
determine if the object method handler processed any data.
|
|
In most normal cases, a user-provided signal handler should return
|
|
FALSE.
|
|
</para>
|
|
|
|
@gstbin: the object which received the signal.
|
|
@Returns: TRUE if the state of the bin was advanced.
|
|
|