| <!-- ##### SECTION Title ##### --> |
| GstBin |
| |
| <!-- ##### SECTION Short_Description ##### --> |
| Base container element |
| |
| <!-- ##### 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 "object_added" signal is fired whenever a new object is added to 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. |
| </para> |
| |
| <!-- ##### SECTION See_Also ##### --> |
| <para> |
| |
| </para> |
| |
| <!-- ##### 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: |
| |
| <!-- ##### STRUCT GstBin ##### --> |
| <para> |
| The GstBin object |
| </para> |
| |
| |
| <!-- ##### USER_FUNCTION GstBinPrePostIterateFunction ##### --> |
| <para> |
| The signature of the callback for the post and pre iterate function as set with |
| gst_bin_set_pre_iterate_function() and gst_bin_set_post_iterate_function(). |
| </para> |
| |
| @bin: The bin that performed the callback |
| @data: user data |
| |
| |
| <!-- ##### FUNCTION gst_bin_new ##### --> |
| <para> |
| |
| </para> |
| |
| @name: |
| @Returns: |
| |
| |
| <!-- ##### MACRO gst_bin_destroy ##### --> |
| <para> |
| Free the memory allocated by this bin |
| </para> |
| |
| @bin: the bin to free |
| |
| |
| <!-- ##### 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_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_iterate ##### --> |
| <para> |
| |
| </para> |
| |
| @bin: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_bin_set_post_iterate_function ##### --> |
| <para> |
| |
| </para> |
| |
| @bin: |
| @func: |
| @func_data: |
| |
| |
| <!-- ##### FUNCTION gst_bin_set_pre_iterate_function ##### --> |
| <para> |
| |
| </para> |
| |
| @bin: |
| @func: |
| @func_data: |
| |
| |
| <!-- ##### FUNCTION gst_bin_child_state_change ##### --> |
| <para> |
| |
| </para> |
| |
| @bin: |
| @oldstate: |
| @newstate: |
| @child: |
| |
| |
| <!-- ##### FUNCTION gst_bin_auto_clock ##### --> |
| <para> |
| |
| </para> |
| |
| @bin: |
| |
| |
| <!-- ##### FUNCTION gst_bin_get_clock ##### --> |
| <para> |
| |
| </para> |
| |
| @bin: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION gst_bin_use_clock ##### --> |
| <para> |
| |
| </para> |
| |
| @bin: |
| @clock: |
| |
| |
| <!-- ##### SIGNAL GstBin::object-added ##### --> |
| <para> |
| is signaled whenever a new <classname>GstElement</classname> is added to the <classname>GstBin</classname> |
| |
| </para> |
| |
| @gstbin: the object which received the signal. |
| @arg1: the element that was added |
| |