2002-01-15 00:41:22 +00:00
|
|
|
<!-- ##### 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_NUM_STATES ##### -->
|
|
|
|
<para>
|
|
|
|
The maximun number of states.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### 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_INFINITE_LOOP:
|
|
|
|
@GST_ELEMENT_SCHEDULER_PRIVATE1:
|
|
|
|
@GST_ELEMENT_SCHEDULER_PRIVATE2:
|
|
|
|
@GST_ELEMENT_NEW_LOOPFUNC:
|
|
|
|
@GST_ELEMENT_EVENT_AWARE:
|
|
|
|
@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_DECOUPLED ##### -->
|
|
|
|
<para>
|
|
|
|
Queries if the Element is decoupled.
|
|
|
|
</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_IS_EVENT_AWARE ##### -->
|
|
|
|
<para>
|
|
|
|
Query wether this element can handle events.
|
|
|
|
</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:
|
2002-03-10 11:43:11 +00:00
|
|
|
@Returns:
|
2002-01-15 00:41:22 +00:00
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### 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:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_connect_filtered ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@src:
|
|
|
|
@srcpadname:
|
|
|
|
@dest:
|
|
|
|
@destpadname:
|
|
|
|
@filtercaps:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### 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_wait_state_change ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@element:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_statename ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@state:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_info ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@element:
|
|
|
|
@info:
|
|
|
|
@Varargs:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_error ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@element:
|
|
|
|
@error:
|
|
|
|
@Varargs:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_get_factory ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@element:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_set_eos ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@element:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_install_std_props ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@klass:
|
|
|
|
@first_name:
|
|
|
|
@Varargs:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_send_event ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@element:
|
|
|
|
@event:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_interrupt ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@element:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_element_yield ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@element:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### SIGNAL GstElement::eos ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@gstelement: the object which received the signal.
|
|
|
|
|
|
|
|
<!-- ##### SIGNAL GstElement::error ##### -->
|
|
|
|
<para>
|
|
|
|
Is trigered whenever an error occured
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@gstelement: the object which received the signal.
|
|
|
|
@arg1: the error message
|
2002-03-10 11:43:11 +00:00
|
|
|
@arg2:
|
2002-01-15 00:41:22 +00:00
|
|
|
|
|
|
|
<!-- ##### 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::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
|
|
|
|
@arg2:
|
|
|
|
|