GstElement Base class for all pipeline elements 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. 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(). gst_element_connect() is a convenience function provided to make it simpler to connect pads of two elements together. This enum defines the standard states an element may be in. GST_STATE_MAX is the highest bit that can be set, and is used internally. GST_STATE_COMPLETE means all the necesary information is available to run, i.e. the filename for the disksrc, etc. GST_STATE_RUNNING means that it's actually doing something, but that's fuzzy. GST_STATE_DISCOVERY is intended for the autoconnect case, in those instances where the only way to determine the input or output type of some pad is for an element to actually process some data. The idea in that case is that the source element would be responsible for sending the data non-destructively (in the case of a network client, it would have to save it all up, unless it has seek capabilities over the network), and all downstream elements process it in such a way as to not hose their own state. Or rather, when they cease to do discovery, they completely wipe their state as if nothing ever happened. GST_STATE_PREROLL is a local state, used for things like sending the first half of an MPEG GOP through the decoder in order to start playback at a frame somewhere in the middle of said GOP. Not sure how that will work, exactly. GST_STATE_PLAYING means there really is data flowing through the graph, where GST_STATE_PAUSED temporary stops the flow. GST_STATE_PLAYING && GST_STATE_PAUSED is the same idea as !GST_STATE_PLAYING, but there are probably going to be many cases where there really is a distinction. This macro returns the entire state of the element. @obj: Element to return state for. This macro checks to see if the given state is set. @obj: Element to check for state. @flag: State to check for, must be a single bit in guint32. This macro sets the given state on the element. @obj: Element to set state of. @flag: State to set, can be any number of bits in guint32. This macro unsets the given state on the element. @obj: Element to unset state of. @flag: State to unset, can be any number of bits in guint32. This struct is used to define public information about the element. It describes the element, mostly for the benefit of editors. 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. 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. @element: The element in question. @Returns: @element: @loop: @element: @name: @element: @Returns: @element: @manager: @element: @Returns: @element: @pad: @element: @pad: @element: @name: @Returns: GList of pads @element: @Returns: @src: @srcpadname: @dest: @destpadname: @srcpad: @destpad: @element: @state: @Returns: @element: @error: @element: @state: @Returns: @element: the element to destroy @element: @parent: @Returns: @name: @type: @details: @Returns: @elementfactory: @name: @Returns: @Returns: @factory: @name: @Returns: @factoryname: @name: @Returns: @argc: @argv: @Returns: Is trigered whenever the state of an element changes @gstelement: the object which received the signal. @arg1: the new state of the object Is trigered whenever a new pad is added to an element @gstelement: the object which received the signal. @arg1: the new pad that was added Is trigered whenever a new ghost pad is added to an element @gstelement: the object which received the signal. @arg1: the new ghost pad that was added Is trigered whenever an error occured @gstelement: the object which received the signal. @arg1: the error message