1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 Base class for all pipeline elements
7 <!-- ##### SECTION Long_Description ##### -->
9 GstElement is the base class needed to construct an element that can be
10 used in a GST pipeline. As such, it is not a functional entity, and
11 cannot do anything when placed in a pipeline.
15 All GstElements have a list containing the #GstPad structure for all their
16 inputs and outputs. These can be added with gst_element_add_pad() or
17 gst_element_add_ghost_pad(), and retrieved by name with
18 gst_element_get_pad(), or in a list form by gst_element_get_pad_list().
22 gst_element_connect() is a convenience function provided to make it
23 simpler to connect pads of two elements together.
26 <!-- ##### SECTION See_Also ##### -->
31 <!-- ##### ENUM GstElementState ##### -->
33 This enum defines the standard states an element may be in. You will normally
34 use gst_element_set_state() to change the state of an element.
38 @GST_STATE_NONE_PENDING: The element is in the desired state.
39 @GST_STATE_NULL: Reset the state of an element.
40 @GST_STATE_READY: will make the element ready to start processing data. some
41 elements might have a non trivial way to initialize themselves.
42 @GST_STATE_PLAYING: means there really is data flowing through the graph.
43 @GST_STATE_PAUSED: means there really is data flowing temporary stops the data flow.
45 <!-- ##### ENUM GstElementStateReturn ##### -->
47 This enum defines the standard return values that an element
48 can return after a state change.
52 @GST_STATE_FAILURE: the element could not perform the state change
53 @GST_STATE_SUCCESS: the element successfully changed its state
54 @GST_STATE_ASYNC: the element will asynchronously change its state as soon as possible
56 <!-- ##### MACRO GST_STATE ##### -->
58 This macro returns the entire state of the element.
61 @obj: Element to return state for.
64 <!-- ##### MACRO GST_STATE_PENDING ##### -->
66 This macro returns the currently pending state of the element.
69 @obj: Element to return the pending state for.
72 <!-- ##### MACRO GST_STATE_TRANSITION ##### -->
74 Returns the state transition this object is going through
77 @obj: the Element to return the tate transition for
80 <!-- ##### MACRO GST_STATE_NULL_TO_READY ##### -->
82 The Element is going from the NULL state to the READY state
87 <!-- ##### MACRO GST_STATE_READY_TO_PLAYING ##### -->
89 The Element is going from the READY state to the PLAYING state
94 <!-- ##### MACRO GST_STATE_PLAYING_TO_PAUSED ##### -->
96 The Element is going from the PLAYING state to the PAUSED state
101 <!-- ##### MACRO GST_STATE_PAUSED_TO_PLAYING ##### -->
103 The Element is going from the PAUSED state to the PLAYING state
108 <!-- ##### MACRO GST_STATE_PLAYING_TO_READY ##### -->
110 The Element is going from the PLAYING state to the READY state
115 <!-- ##### MACRO GST_STATE_READY_TO_NULL ##### -->
117 The Element is going from the READY state to the NULL state
122 <!-- ##### ENUM GstElementFlags ##### -->
124 This enum defines the standard flags that an element
128 @GST_ELEMENT_COMPLEX:
129 @GST_ELEMENT_DECOUPLED:
130 @GST_ELEMENT_THREAD_SUGGESTED:
131 @GST_ELEMENT_NO_SEEK:
132 @GST_ELEMENT_NEW_LOOPFUNC:
133 @GST_ELEMENT_COTHREAD_STOPPING:
134 @GST_ELEMENT_USE_COTHREAD:
135 @GST_ELEMENT_FLAG_LAST:
137 <!-- ##### MACRO GST_ELEMENT_IS_THREAD_SUGGESTED ##### -->
139 Queries whether the Element should be placed in a thread
142 @obj: The element to query
145 <!-- ##### MACRO GST_ELEMENT_IS_COTHREAD_STOPPING ##### -->
147 Queries whether the cothread holding this element needs to be stopped
150 @obj: The element to query
153 <!-- ##### STRUCT GstElement ##### -->
159 <!-- ##### STRUCT GstElementDetails ##### -->
161 This struct is used to define public information about the element. It
162 describes the element, mostly for the benefit of editors.
172 <!-- ##### STRUCT GstElementFactory ##### -->
174 This factory is used when registering the element, and contains the name
175 of the element, the GtkType value for it, as well as a pointer to the
176 GstElementDetails struct for the element.
184 <!-- ##### USER_FUNCTION GstElementLoopFunction ##### -->
186 This function type is used to specify a loop function for the element. It
187 is passed the element in question, and is expect to return only in error
191 @element: The element in question.
194 <!-- ##### FUNCTION gst_element_new ##### -->
202 <!-- ##### MACRO gst_element_destroy ##### -->
207 @element: the element to destroy
210 <!-- ##### FUNCTION gst_element_set_loop_function ##### -->
219 <!-- ##### FUNCTION gst_element_set_name ##### -->
228 <!-- ##### FUNCTION gst_element_get_name ##### -->
237 <!-- ##### FUNCTION gst_element_set_manager ##### -->
246 <!-- ##### FUNCTION gst_element_get_manager ##### -->
255 <!-- ##### FUNCTION gst_element_add_pad ##### -->
264 <!-- ##### FUNCTION gst_element_get_pad ##### -->
271 @Returns: GList of pads
274 <!-- ##### FUNCTION gst_element_get_pad_list ##### -->
283 <!-- ##### FUNCTION gst_element_get_padtemplate_list ##### -->
292 <!-- ##### FUNCTION gst_element_add_ghost_pad ##### -->
301 <!-- ##### FUNCTION gst_element_remove_ghost_pad ##### -->
310 <!-- ##### FUNCTION gst_element_connect ##### -->
321 <!-- ##### FUNCTION gst_element_set_state ##### -->
331 <!-- ##### FUNCTION gst_element_error ##### -->
340 <!-- ##### FUNCTION gst_element_get_factory ##### -->
349 <!-- ##### FUNCTION gst_element_signal_eos ##### -->
357 <!-- ##### FUNCTION gst_element_save_thyself ##### -->
367 <!-- ##### FUNCTION gst_element_load_thyself ##### -->
377 <!-- ##### FUNCTION gst_elementfactory_new ##### -->
388 <!-- ##### FUNCTION gst_elementfactory_destroy ##### -->
396 <!-- ##### FUNCTION gst_elementfactory_add_padtemplate ##### -->
403 <!-- # Unused Parameters # -->
407 <!-- ##### FUNCTION gst_elementfactory_find ##### -->
416 <!-- ##### FUNCTION gst_elementfactory_get_list ##### -->
424 <!-- ##### FUNCTION gst_elementfactory_can_src_caps ##### -->
434 <!-- ##### FUNCTION gst_elementfactory_can_sink_caps ##### -->
444 <!-- ##### FUNCTION gst_elementfactory_can_src_caps_list ##### -->
454 <!-- ##### FUNCTION gst_elementfactory_can_sink_caps_list ##### -->
464 <!-- ##### FUNCTION gst_elementfactory_create ##### -->
474 <!-- ##### FUNCTION gst_elementfactory_make ##### -->
484 <!-- ##### FUNCTION gst_elementfactory_save_thyself ##### -->
494 <!-- ##### FUNCTION gst_elementfactory_load_thyself ##### -->
503 <!-- ##### SIGNAL GstElement::state-change ##### -->
505 Is trigered whenever the state of an element changes
508 @gstelement: the object which received the signal.
509 @arg1: the new state of the object
511 <!-- ##### SIGNAL GstElement::new-pad ##### -->
513 Is trigered whenever a new pad is added to an element
516 @gstelement: the object which received the signal.
517 @arg1: the new pad that was added
519 <!-- ##### SIGNAL GstElement::new-ghost-pad ##### -->
522 Is trigered whenever a new ghost pad is added to an element
525 @gstelement: the object which received the signal.
526 @arg1: the new ghost pad that was added
528 <!-- ##### SIGNAL GstElement::error ##### -->
530 Is trigered whenever an error occured
534 @gstelement: the object which received the signal.
535 @arg1: the error message
537 <!-- ##### SIGNAL GstElement::eos ##### -->
542 @gstelement: the object which received the signal.