<!-- ##### SECTION Title ##### --> GstElement <!-- ##### SECTION Short_Description ##### --> <!-- ##### SECTION Long_Description ##### --> <para> </para> <!-- ##### SECTION See_Also ##### --> <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: @author: @_gst_reserved: <!-- ##### MACRO GST_ELEMENT_DETAILS ##### --> <para> </para> @longname: @klass: @description: @author: <!-- ##### MACRO GST_IS_ELEMENT_DETAILS ##### --> <para> </para> @details: <!-- ##### 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_PLAYING ##### --> <para> The Element is going from the PAUSED state to the PLAYING 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_READY ##### --> <para> The Element is going from the PAUSED state to the READY state. </para> <!-- ##### MACRO GST_STATE_READY_TO_NULL ##### --> <para> The Element is going from the READY state to the NULL state. </para> <!-- ##### MACRO GST_ELEMENT_CLASS ##### --> <para> </para> @klass: <!-- ##### MACRO GST_ELEMENT_QUERY_TYPE_FUNCTION ##### --> <para> Helper macro to create query type functions </para> @functionname: The function name @...: list of query types. <!-- ##### MACRO GST_ELEMENT_FORMATS_FUNCTION ##### --> <para> Halper macro to create element format functions </para> @functionname: The function name @...: formats <!-- ##### MACRO GST_ELEMENT_EVENT_MASK_FUNCTION ##### --> <para> A helper macro to create a mask function </para> @functionname: the name of the mask function @...: Masks <!-- ##### 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_INFINITE_LOOP: @GST_ELEMENT_NEW_LOOPFUNC: @GST_ELEMENT_EVENT_AWARE: @GST_ELEMENT_USE_THREADSAFE_PROPERTIES: @GST_ELEMENT_SCHEDULER_PRIVATE1: @GST_ELEMENT_SCHEDULER_PRIVATE2: @GST_ELEMENT_LOCKED_STATE: @GST_ELEMENT_IN_ERROR: @GST_ELEMENT_FLAG_LAST: <!-- ##### MACRO GST_ELEMENT_IS_THREAD_SUGGESTED ##### --> <para> Queries whether the Element should be placed in a thread. </para> @obj: a #GstElement to query <!-- ##### MACRO GST_ELEMENT_IS_EVENT_AWARE ##### --> <para> Query wether this element can handle events. </para> @obj: a #GstElement to query <!-- ##### MACRO GST_ELEMENT_IS_DECOUPLED ##### --> <para> Queries if the Element is decoupled. </para> @obj: a #GstElement to query <!-- ##### MACRO GST_ELEMENT_NAME ##### --> <para> Gets the name of this element. Used in the core. Not ABI-compatible. </para> @obj: A #GstElement to query <!-- ##### MACRO GST_ELEMENT_PARENT ##### --> <para> Get the parent object of this element. </para> @obj: a #GstElement to query <!-- ##### MACRO GST_ELEMENT_MANAGER ##### --> <para> Get the manager of this element. </para> @obj: a #GstElement to query <!-- ##### MACRO GST_ELEMENT_SCHED ##### --> <para> Get the scheduler of this element. </para> @obj: a #GstElement to query <!-- ##### MACRO GST_ELEMENT_CLOCK ##### --> <para> Get the clock of this element </para> @obj: a #GstElement to query <!-- ##### MACRO GST_ELEMENT_PADS ##### --> <para> Get the pads of this elements. </para> @obj: a #GstElement to query <!-- ##### MACRO GST_ELEMENT_ERROR ##### --> <para> </para> @el: @domain: @code: @message: @debug: <!-- ##### 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. <!-- ##### USER_FUNCTION GstElementPreRunFunction ##### --> <para> The signature of the function to execute after this element is scheduled. </para> @element: The element <!-- ##### USER_FUNCTION GstElementPostRunFunction ##### --> <para> The signature of the function to execute before this element is scheduled. </para> @element: The element <!-- ##### FUNCTION gst_element_class_add_pad_template ##### --> <para> </para> @klass: @templ: <!-- ##### FUNCTION gst_element_class_install_std_props ##### --> <para> </para> @klass: @first_name: @Varargs: <!-- ##### FUNCTION gst_element_class_set_details ##### --> <para> </para> @klass: @details: <!-- ##### MACRO gst_element_default_deep_notify ##### --> <para> The default deep notify handler that prints out the property change notifications to stdout. </para> <!-- ##### FUNCTION gst_element_default_error ##### --> <para> </para> @object: @orig: @error: @debug: <!-- ##### FUNCTION gst_element_set_loop_function ##### --> <para> </para> @element: @loop: <!-- ##### MACRO gst_element_get_name ##### --> <para> Gets the name of the element. </para> @elem: @Returns: the name of the element. <!-- link --> <!-- ##### MACRO gst_element_set_name ##### --> <para> Sets the name of the element, getting rid of the old name if there was one. </para> @elem: a #GstElement to set the name of. @name: the new name of the element. <!-- ##### MACRO gst_element_get_parent ##### --> <para> Gets the parent of an element. </para> @elem: a #GstElement to get the parent of. @Returns: the #GstObject parent of the element. <!-- ##### MACRO gst_element_set_parent ##### --> <para> Sets the parent of an element. </para> @elem: a #GstElement to set the parent of. @parent: the new #GstObject parent of the object. <!-- ##### FUNCTION gst_element_set ##### --> <para> </para> @element: @first_property_name: @Varargs: <!-- ##### FUNCTION gst_element_get ##### --> <para> </para> @element: @first_property_name: @Varargs: <!-- ##### FUNCTION gst_element_set_valist ##### --> <para> </para> @element: @first_property_name: @var_args: <!-- ##### FUNCTION gst_element_get_valist ##### --> <para> </para> @element: @first_property_name: @var_args: <!-- ##### FUNCTION gst_element_set_property ##### --> <para> </para> @element: @property_name: @value: <!-- ##### FUNCTION gst_element_get_property ##### --> <para> </para> @element: @property_name: @value: <!-- ##### FUNCTION gst_element_enable_threadsafe_properties ##### --> <para> </para> @element: <!-- ##### FUNCTION gst_element_disable_threadsafe_properties ##### --> <para> </para> @element: <!-- ##### FUNCTION gst_element_set_pending_properties ##### --> <para> </para> @element: <!-- ##### FUNCTION gst_element_requires_clock ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_provides_clock ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_get_clock ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_set_clock ##### --> <para> </para> @element: @clock: <!-- ##### FUNCTION gst_element_clock_wait ##### --> <para> </para> @element: @id: @jitter: @Returns: <!-- # Unused Parameters # --> @clock: @time: <!-- ##### FUNCTION gst_element_get_time ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_wait ##### --> <para> </para> @element: @timestamp: @Returns: <!-- ##### FUNCTION gst_element_set_time ##### --> <para> </para> @element: @time: <!-- ##### FUNCTION gst_element_adjust_time ##### --> <para> </para> @element: @diff: <!-- ##### FUNCTION gst_element_is_indexable ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_set_index ##### --> <para> </para> @element: @index: <!-- ##### FUNCTION gst_element_get_index ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_release_locks ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_yield ##### --> <para> </para> @element: <!-- ##### FUNCTION gst_element_interrupt ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_set_scheduler ##### --> <para> </para> @element: @sched: <!-- ##### FUNCTION gst_element_get_scheduler ##### --> <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_add_ghost_pad ##### --> <para> </para> @element: @pad: @name: @Returns: <!-- ##### FUNCTION gst_element_remove_ghost_pad ##### --> <para> </para> @element: @pad: <!-- pad template manipulation --> <!-- ##### FUNCTION gst_element_get_pad ##### --> <para> </para> @element: @name: @Returns: GList of #GstPads <!-- ##### FUNCTION gst_element_get_static_pad ##### --> <para> </para> @element: @name: @Returns: <!-- ##### FUNCTION gst_element_get_request_pad ##### --> <para> </para> @element: @name: @Returns: <!-- ##### FUNCTION gst_element_release_request_pad ##### --> <para> </para> @element: @pad: <!-- ##### FUNCTION gst_element_get_pad_list ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_get_compatible_pad ##### --> <para> </para> @element: @pad: @Returns: <!-- ##### FUNCTION gst_element_get_compatible_pad_filtered ##### --> <para> </para> @element: @pad: @filtercaps: @Returns: <!-- ##### FUNCTION gst_element_class_get_pad_template ##### --> <para> </para> @element_class: @name: @Returns: <!-- ##### FUNCTION gst_element_class_get_pad_template_list ##### --> <para> </para> @element_class: @Returns: <!-- ##### FUNCTION gst_element_get_pad_template ##### --> <para> </para> @element: @name: @Returns: <!-- ##### FUNCTION gst_element_get_pad_template_list ##### --> <para> </para> @element: @Returns: <!-- scheduling --> <!-- ##### FUNCTION gst_element_get_compatible_pad_template ##### --> <para> </para> @element: @compattempl: @Returns: <!-- ##### FUNCTION gst_element_link ##### --> <para> </para> @src: @dest: @Returns: <!-- ##### FUNCTION gst_element_link_many ##### --> <para> </para> @element_1: @element_2: @Varargs: @Returns: <!-- ##### FUNCTION gst_element_link_filtered ##### --> <para> </para> @src: @dest: @filtercaps: @Returns: <!-- ##### FUNCTION gst_element_unlink ##### --> <para> </para> @src: @dest: <!-- ##### FUNCTION gst_element_unlink_many ##### --> <para> </para> @element_1: @element_2: @Varargs: <!-- ##### FUNCTION gst_element_link_pads ##### --> <para> </para> @src: @srcpadname: @dest: @destpadname: @Returns: <!-- ##### FUNCTION gst_element_link_pads_filtered ##### --> <para> </para> @src: @srcpadname: @dest: @destpadname: @filtercaps: @Returns: <!-- ##### FUNCTION gst_element_unlink_pads ##### --> <para> </para> @src: @srcpadname: @dest: @destpadname: <!-- pad manipulation --> <!-- ##### FUNCTION gst_element_get_event_masks ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_send_event ##### --> <para> </para> @element: @event: @Returns: <!-- ##### FUNCTION gst_element_seek ##### --> <para> </para> @element: @seek_type: @offset: @Returns: <!-- ##### FUNCTION gst_element_get_query_types ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_query ##### --> <para> </para> @element: @type: @format: @value: @Returns: <!-- ##### FUNCTION gst_element_get_formats ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_convert ##### --> <para> </para> @element: @src_format: @src_value: @dest_format: @dest_value: @Returns: <!-- ##### FUNCTION gst_element_found_tags ##### --> <para> </para> @element: @tag_list: <!-- ##### FUNCTION gst_element_found_tags_for_pad ##### --> <para> </para> @element: @pad: @timestamp: @list: <!-- ##### FUNCTION gst_element_set_eos ##### --> <para> </para> @element: <!-- ##### FUNCTION gst_element_error_full ##### --> <para> </para> @element: @domain: @code: @message: @debug: @file: @function: @line: <!-- ##### FUNCTION gst_element_is_locked_state ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_set_locked_state ##### --> <para> </para> @element: @locked_state: <!-- ##### FUNCTION gst_element_sync_state_with_parent ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_get_state ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_set_state ##### --> <para> </para> @element: @state: @Returns: <!-- ##### FUNCTION gst_element_wait_state_change ##### --> <para> </para> @element: <!-- ##### FUNCTION gst_element_state_get_name ##### --> <para> </para> @state: @Returns: <!-- ##### FUNCTION gst_element_get_factory ##### --> <para> </para> @element: @Returns: <!-- ##### FUNCTION gst_element_get_managing_bin ##### --> <para> </para> @element: @Returns: <!-- clocking --> <!-- ##### MACRO GST_TYPE_ELEMENT_FACTORY ##### --> <para> </para> <!-- ##### MACRO GST_ELEMENT_FACTORY ##### --> <para> </para> @obj: <!-- ##### MACRO GST_ELEMENT_FACTORY_CLASS ##### --> <para> </para> @klass: <!-- ##### MACRO GST_IS_ELEMENT_FACTORY ##### --> <para> </para> @obj: <!-- ##### MACRO GST_IS_ELEMENT_FACTORY_CLASS ##### --> <para> </para> @klass: <!-- ##### FUNCTION gst_element_factory_get_type ##### --> <para> </para> @Returns: <!-- ##### FUNCTION gst_element_register ##### --> <para> </para> @plugin: @elementname: @rank: @type: @Returns: <!-- ##### FUNCTION gst_element_factory_find ##### --> <para> </para> @name: @Returns: <!-- ##### FUNCTION gst_element_factory_get_element_type ##### --> <para> </para> @factory: @Returns: <!-- ##### FUNCTION gst_element_factory_get_longname ##### --> <para> </para> @factory: @Returns: <!-- ##### FUNCTION gst_element_factory_get_klass ##### --> <para> </para> @factory: @Returns: <!-- ##### FUNCTION gst_element_factory_get_description ##### --> <para> </para> @factory: @Returns: <!-- ##### FUNCTION gst_element_factory_get_author ##### --> <para> </para> @factory: @Returns: <!-- ##### FUNCTION gst_element_factory_get_num_pad_templates ##### --> <para> </para> @factory: @Returns: <!-- ##### FUNCTION gst_element_factory_get_pad_templates ##### --> <para> </para> @factory: @Returns: <!-- ##### FUNCTION gst_element_factory_get_uri_type ##### --> <para> </para> @factory: @Returns: <!-- ##### FUNCTION gst_element_factory_get_uri_protocols ##### --> <para> </para> @factory: @Returns: <!-- ##### FUNCTION gst_element_factory_create ##### --> <para> </para> @factory: @name: @Returns: <!-- ##### FUNCTION gst_element_factory_make ##### --> <para> </para> @factoryname: @name: @Returns: <!-- ##### FUNCTION gst_element_factory_can_src_caps ##### --> <para> </para> @factory: @caps: @Returns: <!-- ##### FUNCTION gst_element_factory_can_sink_caps ##### --> <para> </para> @factory: @caps: @Returns: <!-- ##### SIGNAL GstElement::eos ##### --> <para> Signal emited when the element goes to PAUSED due to an end-of-stream condition. </para> @gstelement: the object which received the signal. <!-- ##### SIGNAL GstElement::error ##### --> <para> This signal is emitted when an element has encountered an error that caused it to fail performing its function. </para> @gstelement: the object which received the signal. @arg1: the original #GstElement that generated the error. @arg2: a #GError containing the translated error message. @arg3: a debug string providing additional untranslated debug information, or NULL. <!-- ##### SIGNAL GstElement::found-tag ##### --> <para> </para> @gstelement: the object which received the signal. @arg1: @arg2: <!-- ##### SIGNAL GstElement::new-pad ##### --> <para> Is triggered 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> Is triggered whenever a pad has been removed from the element. </para> @gstelement: the object which received the signal. @arg1: The pad that was removed. <!-- ##### SIGNAL GstElement::state-change ##### --> <para> Is triggered whenever the state of an element changes. </para> @gstelement: the object which received the signal. @arg1: the new state of the object @arg2: