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