gstreamer/docs/gst/tmpl/gstelement.sgml
Wim Taymans 196c67d7ff Changed the GstPadFactory and added the GstPadTemplate.
Original commit message from CVS:
Changed the GstPadFactory and added the GstPadTemplate.

The GstPadFactory is an easy way to define a pad with capabilities.
The GstPadFactory is converted into a GstPadTemplate. The template is
used to create new pads and to expose the possible pads used in an
element to the plugin system.

updated mp3parse, mpg123, cdparanoia to the new API.
Rerun gstreamer-register because the XML definition has changed.
2000-12-13 19:29:35 +00:00

482 lines
7.8 KiB
Plaintext

<!-- ##### 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:
@GST_ELEMENT_NEW_LOOPFUNC:
@GST_ELEMENT_COTHREAD_STOPPING:
<!-- ##### 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:
@klass:
@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:
@padfactories:
<!-- ##### 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_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