mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
092db54409
Original commit message from CVS: *** empty log message ***
498 lines
8 KiB
Text
498 lines
8 KiB
Text
<!-- ##### SECTION Title ##### -->
|
|
GstElement
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
Base class for all pipeline elements
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
<para>
|
|
GstElement is the base class needed to construct an element that can be
|
|
used in a GST pipeline. As such, it is not a functional entity, and
|
|
cannot do anything when placed in a pipeline.
|
|
</para>
|
|
|
|
<para>
|
|
All GstElements have a list containing the #GstPad structure for all their
|
|
inputs and outputs. These can be added with gst_element_add_pad() or
|
|
gst_element_add_ghost_pad(), and retrieved by name with
|
|
gst_element_get_pad(), or in a list form by gst_element_get_pad_list().
|
|
</para>
|
|
|
|
<para>
|
|
gst_element_connect() is a convenience function provided to make it
|
|
simpler to connect pads of two elements together.
|
|
</para>
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
<!-- ##### ENUM GstElementState ##### -->
|
|
<para>
|
|
This enum defines the standard states an element may be in. You will normally
|
|
use gst_element_set_state() to change the state of an element.
|
|
|
|
<informaltable pgwide=1 frame="none" role="enum">
|
|
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
|
|
<tbody>
|
|
<row>
|
|
<entry>GST_STATE_NONE_PENDING</entry>
|
|
<entry>The element is in the desired state.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>GST_STATE_NULL</entry>
|
|
<entry>Reset the state of an element.</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>GST_STATE_READY</entry>
|
|
<entry>will make the element ready to start processing data. some
|
|
elements might have a non trivial way to initialize themselves.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>GST_STATE_PLAYING</entry>
|
|
<entry>means there really is data flowing through the graph.
|
|
</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>GST_STATE_PAUSED</entry>
|
|
<entry>means there really is data flowing
|
|
temporary stops the data flow.
|
|
</entry>
|
|
</row>
|
|
|
|
</tbody></tgroup></informaltable>
|
|
</para>
|
|
|
|
@GST_STATE_NONE_PENDING:
|
|
@GST_STATE_NULL:
|
|
@GST_STATE_READY:
|
|
@GST_STATE_PLAYING:
|
|
@GST_STATE_PAUSED:
|
|
|
|
<!-- ##### ENUM GstElementStateReturn ##### -->
|
|
<para>
|
|
This enum defines the standard return values that an element
|
|
can return after a state change.
|
|
|
|
<informaltable pgwide=1 frame="none" role="enum">
|
|
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
|
|
<tbody>
|
|
<row>
|
|
<entry>GST_STATE_FAILURE</entry>
|
|
<entry>the element could not perform the state change</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>GST_STATE_SUCCESS</entry>
|
|
<entry>the element successfully changed its state</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>GST_STATE_ASYNC</entry>
|
|
<entry>the element will asynchronously change its state as soon as possible
|
|
</entry>
|
|
</row>
|
|
|
|
</tbody></tgroup></informaltable>
|
|
|
|
</para>
|
|
|
|
@GST_STATE_FAILURE:
|
|
@GST_STATE_SUCCESS:
|
|
@GST_STATE_ASYNC:
|
|
|
|
<!-- ##### MACRO GST_STATE ##### -->
|
|
<para>
|
|
This macro returns the entire state of the element.
|
|
</para>
|
|
|
|
@obj: Element to return state for.
|
|
|
|
|
|
<!-- ##### MACRO GST_STATE_PENDING ##### -->
|
|
<para>
|
|
This macro returns the currently pending state of the element.
|
|
</para>
|
|
|
|
@obj: Element to return the pending state for.
|
|
|
|
|
|
<!-- ##### ENUM GstElementFlags ##### -->
|
|
<para>
|
|
This enum defines the standard flags that an element
|
|
may have.
|
|
|
|
<informaltable pgwide=1 frame="none" role="enum">
|
|
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
|
|
<tbody>
|
|
<row>
|
|
<entry>GST_ELEMENT_MULTI_IN</entry>
|
|
<entry>the element has multiple input pads</entry>
|
|
</row>
|
|
|
|
</tbody></tgroup></informaltable>
|
|
|
|
</para>
|
|
|
|
@GST_ELEMENT_MULTI_IN:
|
|
@GST_ELEMENT_THREAD_SUGGESTED:
|
|
@GST_ELEMENT_NO_SEEK:
|
|
|
|
<!-- ##### MACRO GST_ELEMENT_IS_MULTI_IN ##### -->
|
|
<para>
|
|
Query whether this object has multiple input pads.
|
|
|
|
</para>
|
|
|
|
@obj: Element to query for multiple input pads.
|
|
|
|
|
|
<!-- ##### MACRO GST_ELEMENT_IS_THREAD_SUGGESTED ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@obj:
|
|
|
|
|
|
<!-- ##### STRUCT GstElement ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
|
|
<!-- ##### STRUCT GstElementDetails ##### -->
|
|
<para>
|
|
This struct is used to define public information about the element. It
|
|
describes the element, mostly for the benefit of editors.
|
|
</para>
|
|
|
|
@longname:
|
|
@class:
|
|
@description:
|
|
@version:
|
|
@author:
|
|
@copyright:
|
|
|
|
<!-- ##### STRUCT GstElementFactory ##### -->
|
|
<para>
|
|
This factory is used when registering the element, and contains the name
|
|
of the element, the GtkType value for it, as well as a pointer to the
|
|
GstElementDetails struct for the element.
|
|
</para>
|
|
|
|
@name:
|
|
@type:
|
|
@details:
|
|
@src_types:
|
|
@sink_types:
|
|
|
|
<!-- ##### USER_FUNCTION GstElementLoopFunction ##### -->
|
|
<para>
|
|
This function type is used to specify a loop function for the element. It
|
|
is passed the element in question, and is expect to return only in error
|
|
circumstances.
|
|
</para>
|
|
|
|
@element: The element in question.
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_new ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_set_loop_function ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@loop:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_set_name ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@name:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_get_name ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_set_manager ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@manager:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_get_manager ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_add_pad ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@pad:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_add_ghost_pad ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@pad:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_get_pad ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@name:
|
|
@Returns: GList of pads
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_get_pad_list ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_connect ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@src:
|
|
@srcpadname:
|
|
@dest:
|
|
@destpadname:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_set_state ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@state:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_error ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@error:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_get_factory ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### MACRO gst_element_destroy ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element: the element to destroy
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_save_thyself ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@parent:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_load_thyself ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@parent:
|
|
@elements:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_elementfactory_new ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@name:
|
|
@type:
|
|
@details:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_elementfactory_register ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@elementfactory:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_elementfactory_add_sink ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@elementfactory:
|
|
@id:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_elementfactory_add_src ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@elementfactory:
|
|
@id:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_elementfactory_find ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@name:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_elementfactory_get_list ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_elementfactory_create ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@factory:
|
|
@name:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_elementfactory_make ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@factoryname:
|
|
@name:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_elementfactory_save_thyself ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@factory:
|
|
@parent:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_elementfactory_load_thyself ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@parent:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_loopfunc_wrapper ##### -->
|
|
<para>
|
|
</para>
|
|
|
|
@argc:
|
|
@argv:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### SIGNAL GstElement::state-change ##### -->
|
|
<para>
|
|
Is trigered whenever the state of an element changes
|
|
</para>
|
|
|
|
@gstelement: the object which received the signal.
|
|
@arg1: the new state of the object
|
|
|
|
<!-- ##### SIGNAL GstElement::new-pad ##### -->
|
|
<para>
|
|
Is trigered whenever a new pad is added to an element
|
|
</para>
|
|
|
|
@gstelement: the object which received the signal.
|
|
@arg1: the new pad that was added
|
|
|
|
<!-- ##### SIGNAL GstElement::new-ghost-pad ##### -->
|
|
<para>
|
|
|
|
Is trigered whenever a new ghost pad is added to an element
|
|
</para>
|
|
|
|
@gstelement: the object which received the signal.
|
|
@arg1: the new ghost pad that was added
|
|
|
|
<!-- ##### SIGNAL GstElement::error ##### -->
|
|
<para>
|
|
Is trigered whenever an error occured
|
|
|
|
</para>
|
|
|
|
@gstelement: the object which received the signal.
|
|
@arg1: the error message
|
|
|