Pad


Object Hierarchy:

Object hierarchy for Pad

Description:

[ CCode ( type_id = "gst_pad_get_type ()" ) ]
public class Pad : Object

A Element is linked to other elements via "pads", which are extremely light-weight generic link points.

Pads have a PadDirection, source pads produce data, sink pads consume data.

Pads are typically created from a PadTemplate with Pad.from_template and are then added to a Element. This usually happens when the element is created but it can also happen dynamically based on the data that the element is processing or based on the pads that the application requests.

Pads without pad templates can be created with Pad, which takes a direction and a name as an argument. If the name is null, then a guaranteed unique name will be assigned to it.

A Element creating a pad will typically use the various gst_pad_set_*_function() calls to register callbacks for events, queries or dataflow on the pads.

gst_pad_get_parent will retrieve the Element that owns the pad.

After two pads are retrieved from an element by get_static_pad, the pads can be linked with gst_pad_link. (For quick links, you can also use link, which will make the obvious link for you if it's straightforward.). Pads can be unlinked again with unlink. get_peer can be used to check what the pad is linked to.

Before dataflow is possible on the pads, they need to be activated with set_active.

query and peer_query can be used to query various properties of the pad and the stream.

To send a Event on a pad, use send_event and push_event. Some events will be sticky on the pad, meaning that after they pass on the pad they can be queried later with get_sticky_event and sticky_events_foreach. get_current_caps and has_current_caps are convenience functions to query the current sticky CAPS event on a pad.

GstElements will use push and pull_range to push out or pull in a buffer.

The dataflow, events and queries that happen on a pad can be monitored with probes that can be installed with add_probe. is_blocked can be used to check if a block probe is installed on the pad. is_blocking checks if the blocking probe is currently blocking the pad. remove_probe is used to remove a previously installed probe and unblock blocking probes if any.

Pad have an offset that can be retrieved with get_offset. This offset will be applied to the running_time of all data passing over the pad. set_offset can be used to change the offset.

Convenience functions exist to start, pause and stop the task on a pad with start_task , pause_task and stop_task respectively.


Namespace: Gst
Package: gstreamer-1.0

Content:

Properties:

Static methods:

Creation methods:

Methods:

Signals:

Fields:

Inherited Members: