|The Element is the most important object in the entire GStreamer system, as it
|defines the structure of the pipeline. Elements include sources, filters,
|sinks, and containers (Bins). They may be an intrinsic part of the core
|GStreamer library, or may be loaded from a plugin. In some cases they're even
|fabricated from completely different systems (see the LADSPA plugin). They
|are generally created from a GstElementFactory, which will be covered in
|another chapter, but for the intrinsic types they can be created with specific
|Elements contains GstPads (also covered in another chapter), which are
|subsequently used to connect the Elements together to form a pipeline capable
|of passing and processing data. They have a parent, which must be another
|Element. This allows deeply nested pipelines, and the possibility of
|All elements are named, and while they should ideally be unique in any given
|pipeline, they do not have to be. The only guaranteed unique name for an
|element is its complete path in the object hierarchy. In other words, an
|element's name is unique inside its parent. (This follows from GstObject's
|This uniqueness is guaranteed through all functions where either parentage
|or name of an element is changed.
|GstPads are the property of a given GstElement. They provide the connection
|capability, with allowing arbitrary structure in the graph. For any Element
|but a source or sink, there will be at least 2 Pads owned by the Element.
|These pads are stored in a single GList within the Element. Several counters
|are kept in order to allow quicker determination of the type and properties of
|a given Element.
|Pads may be added to an element with _add_pad. Retrieval is via _get_static_pad(),
|which operates on the name of the Pad (the unique key). This means that all
|Pads owned by a given Element must have unique names.
|A pointer to the GList of pads may be obtained with _iterate_pads.
| Sets the element as the parent of the pad, then adds the pad to the
| element's list of pads, keeping the counts of total, src, and sink pads
| up to date. Emits the "new_pad" signal with the pad as argument.
| Fails if either the element or pad are either NULL or not what they
| claim to be. Should fail if the pad already has a parent. Should fail
| if the pad is already owned by the element. Should fail if there's
| already a pad by that name in the list of pads.
|pad = gst_element_get_pad(element,"padname"):
| Searches through the list of pads
|More info in part-gstghostpad.txt.
|An element has a state. More info in part-states.txt.