Element


Object Hierarchy:

Object hierarchy for Element

Description:

[ CCode ( type_id = "gst_element_get_type ()" ) ]
public abstract class Element : Object

GstElement is the abstract base class needed to construct an element that can be used in a GStreamer pipeline.

Please refer to the plugin writers guide for more information on creating Element subclasses.

The name of a Element can be get with gst_element_get_name and set with gst_element_set_name. For speed, GST_ELEMENT_NAME can be used in the core when using the appropriate locking. Do not use this in plug-ins or applications in order to retain ABI compatibility.

Elements can have pads (of the type Pad). These pads link to pads on other elements. Buffer flow between these linked pads. A Element has a List of Pad structures for all their input (or sink) and output (or source) pads. Core and plug-in writers can add and remove pads with add_pad and remove_pad.

An existing pad of an element can be retrieved by name with get_static_pad. A new dynamic pad can be created using request_pad with a PadTemplate. An iterator of all pads can be retrieved with iterate_pads.

Elements can be linked through their pads. If the link is straightforward, use the link convenience function to link two elements, or link_many for more elements in a row. Use link_filtered to link two elements constrained by a specified set of Caps. For finer control, use gst_element_link_pads and link_pads_filtered to specify the pads to link on each element by name.

Each element has a state (see State). You can get and set the state of an element with get_state and set_state. Setting a state triggers a StateChange. To get a string representation of a State, use gst_state_get_name.

You can get and set a Clock on an element using get_clock and set_clock. Some elements can provide a clock for the pipeline if the PROVIDE_CLOCK flag is set. With the provide_clock method one can retrieve the clock provided by such an element. Not all elements require a clock to operate correctly. If the REQUIRE_CLOCK() flag is set, a clock should be set on the element with set_clock.

Note that clock selection and distribution is normally handled by the toplevel Pipeline so the clock functions are only to be used in very specific situations.


Namespace: Gst
Package: gstreamer-1.0

Content:

Static methods:

Creation methods:

Methods:

Signals:

Fields:

Inherited Members: