A {@link Element} is linked to other elements via "pads", which are extremelylight-weight generic link points. After two pads are retrieved from an element with {@link Element#getPad}, the pads can be link with {@link #link}. (For quick links, you can also use {@link Element#link}, which will make the obvious link for you if it's straightforward.)
Pads are typically created from a {@link PadTemplate} with {@link #Pad(PadTemplate,String)}.
Pads have {@link Caps} attached to it to describe the media type they arecapable of dealing with. {@link #getCaps} and {@link #setCaps} areused to manipulate the caps of the pads. Pads created from a pad template cannot set capabilities that are incompatible with the pad template capabilities.
Pads without pad templates can be created with gst_pad_new(), 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.
{@link #getParentElement} will retrieve the Element that owns the pad.
An Element creating a pad will typically use the various gst_pad_set_*_function() calls to register callbacks for various events on the pads.
GstElements will use gst_pad_push() and gst_pad_pull_range() to push out or pull in a buffer.
To send an Event on a pad, use {@link #sendEvent} and {@link #pushEvent}. @see PadTemplate @see Element @see Event
|
|
|
|
|
|