mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-18 15:51:11 +00:00
0bb01afa84
Original commit message from CVS: Split out the padtemplate, autoplugfactoy and elementfactory into different pages to be able to show more examples and the object hierarchy.
540 lines
8.9 KiB
Text
540 lines
8.9 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>
|
|
#GstElementFactory
|
|
</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.
|
|
|
|
</para>
|
|
|
|
@GST_STATE_VOID_PENDING:
|
|
@GST_STATE_NULL: Reset the state of an element.
|
|
@GST_STATE_READY: will make the element ready to start processing data. some
|
|
elements might have a non trivial way to initialize themselves.
|
|
@GST_STATE_PAUSED: means there really is data flowing temporary stops the data flow.
|
|
@GST_STATE_PLAYING: means there really is data flowing through the graph.
|
|
|
|
<!-- ##### ENUM GstElementStateReturn ##### -->
|
|
<para>
|
|
This enum defines the standard return values that an element
|
|
can return after a state change.
|
|
|
|
</para>
|
|
|
|
@GST_STATE_FAILURE: the element could not perform the state change
|
|
@GST_STATE_SUCCESS: the element successfully changed its state
|
|
@GST_STATE_ASYNC: the element will asynchronously change its state as soon as possible
|
|
|
|
<!-- ##### MACRO GST_STATE ##### -->
|
|
<para>
|
|
This macro returns the current 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.
|
|
|
|
|
|
<!-- ##### MACRO GST_STATE_TRANSITION ##### -->
|
|
<para>
|
|
Returns the state transition this object is going through.
|
|
</para>
|
|
|
|
@obj: the Element to return the state transition for
|
|
|
|
|
|
<!-- ##### MACRO GST_STATE_NULL_TO_READY ##### -->
|
|
<para>
|
|
The Element is going from the NULL state to the READY state.
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_STATE_READY_TO_PAUSED ##### -->
|
|
<para>
|
|
The Element is going from the READY state to the PAUSED state.
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_STATE_PAUSED_TO_READY ##### -->
|
|
<para>
|
|
The Element is going from the PAUSED state to the READY state.
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_STATE_PLAYING_TO_PAUSED ##### -->
|
|
<para>
|
|
The Element is going from the PLAYING state to the PAUSED state.
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_STATE_PAUSED_TO_PLAYING ##### -->
|
|
<para>
|
|
The Element is going from the PAUSED state to the PLAYING state.
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### MACRO GST_STATE_READY_TO_NULL ##### -->
|
|
<para>
|
|
The Element is going from the READY state to the NULL state.
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### ENUM GstElementFlags ##### -->
|
|
<para>
|
|
This enum defines the standard flags that an element may have.
|
|
</para>
|
|
|
|
@GST_ELEMENT_COMPLEX:
|
|
@GST_ELEMENT_DECOUPLED:
|
|
@GST_ELEMENT_THREAD_SUGGESTED:
|
|
@GST_ELEMENT_NO_SEEK:
|
|
@GST_ELEMENT_NO_ENTRY:
|
|
@GST_ELEMENT_NEW_LOOPFUNC:
|
|
@GST_ELEMENT_COTHREAD_STOPPING:
|
|
@GST_ELEMENT_USE_COTHREAD:
|
|
@GST_ELEMENT_EOS:
|
|
@GST_ELEMENT_FLAG_LAST:
|
|
|
|
<!-- ##### MACRO GST_ELEMENT_IS_THREAD_SUGGESTED ##### -->
|
|
<para>
|
|
Queries whether the Element should be placed in a thread.
|
|
</para>
|
|
|
|
@obj: The element to query
|
|
|
|
|
|
<!-- ##### MACRO GST_ELEMENT_IS_COTHREAD_STOPPING ##### -->
|
|
<para>
|
|
Queries whether the cothread holding this element needs to be stopped.
|
|
</para>
|
|
|
|
@obj: The element to query
|
|
|
|
|
|
<!-- ##### MACRO GST_ELEMENT_IS_EOS ##### -->
|
|
<para>
|
|
Query wether this element is in the End Of Stream state.
|
|
</para>
|
|
|
|
@obj: The element to query
|
|
|
|
|
|
<!-- ##### MACRO GST_ELEMENT_PARENT ##### -->
|
|
<para>
|
|
Get the parent object of this element.
|
|
</para>
|
|
|
|
@obj: The element to query
|
|
|
|
|
|
<!-- ##### MACRO GST_ELEMENT_NAME ##### -->
|
|
<para>
|
|
Get the name of this element.
|
|
</para>
|
|
|
|
@obj: The element to query
|
|
|
|
|
|
<!-- ##### MACRO GST_ELEMENT_PADS ##### -->
|
|
<para>
|
|
Get the pads of this elements.
|
|
</para>
|
|
|
|
@obj: The element to query
|
|
|
|
|
|
<!-- ##### MACRO GST_ELEMENT_SCHED ##### -->
|
|
<para>
|
|
Get the scheduler of this element.
|
|
</para>
|
|
|
|
@obj: The element to query
|
|
|
|
|
|
<!-- ##### MACRO GST_ELEMENT_MANAGER ##### -->
|
|
<para>
|
|
Get the manager of this element.
|
|
</para>
|
|
|
|
@obj: The element to query
|
|
|
|
|
|
<!-- ##### STRUCT GstElement ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
|
|
<!-- ##### 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_class_add_padtemplate ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@klass:
|
|
@templ:
|
|
<!-- # Unused Parameters # -->
|
|
@element:
|
|
|
|
|
|
<!-- ##### MACRO gst_element_destroy ##### -->
|
|
<para>
|
|
Destroy the element. This is potentially dangerous, use gst_object_unref
|
|
instead.
|
|
</para>
|
|
|
|
@element: the element to destroy
|
|
|
|
|
|
<!-- ##### 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_get_sched ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_set_sched ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@sched:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_set_parent ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@parent:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_get_parent ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_add_pad ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@pad:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_remove_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_get_padtemplate_list ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_get_padtemplate_by_name ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@name:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_add_ghost_pad ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@pad:
|
|
@name:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_remove_ghost_pad ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@pad:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_request_compatible_pad ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@templ:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_request_pad_by_name ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@name:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_connect ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@src:
|
|
@srcpadname:
|
|
@dest:
|
|
@destpadname:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_disconnect ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@src:
|
|
@srcpadname:
|
|
@dest:
|
|
@destpadname:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_set_state ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@state:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_get_state ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@Returns:
|
|
<!-- # Unused Parameters # -->
|
|
@elem:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_statename ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@state:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_error ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@error:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_get_factory ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_signal_eos ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@element:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_restore_thyself ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@self:
|
|
@parent:
|
|
@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::pad-removed ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@gstelement: the object which received the signal.
|
|
@arg1: The pad that was removed.
|
|
|
|
<!-- ##### 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::ghost-pad-removed ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@gstelement: the object which received the signal.
|
|
@arg1: The ghost pad that was removed.
|
|
|
|
<!-- ##### SIGNAL GstElement::error ##### -->
|
|
<para>
|
|
Is trigered whenever an error occured
|
|
|
|
</para>
|
|
|
|
@gstelement: the object which received the signal.
|
|
@arg1: the error message
|
|
|
|
<!-- ##### SIGNAL GstElement::eos ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@gstelement: the object which received the signal.
|
|
|