GhostPad

GhostPads are useful when organizing pipelines with #GstBin like elements. The idea here is to create hierarchical element graphs. The bin element contains a sub-graph. Now one would like to treat the bin-element like any other #GstElement. This is where GhostPads come into play. A GhostPad acts as a proxy for another pad. Thus the bin can have sink and source ghost-pads that are associated with sink and source pads of the child elements.

If the target pad is known at creation time, gst.ghost_pad.GhostPad.new_ is the function to use to get a ghost-pad. Otherwise one can use gst.ghost_pad.GhostPad.newNoTarget to create the ghost-pad and use gst.ghost_pad.GhostPad.setTarget to establish the association later on.

Note that GhostPads add overhead to the data processing of a pipeline.

Constructors

this
this(string name, gst.pad.Pad target)

Create a new ghostpad with target as the target. The direction will be taken from the target pad. target must be unlinked.

Members

Functions

construct
bool construct()

Finish initialization of a newly allocated ghost pad.

getTarget
gst.pad.Pad getTarget()

Get the target pad of gpad. Unref target pad after usage.

setTarget
bool setTarget(gst.pad.Pad newtarget)

Set the new target of the ghostpad gpad. Any existing target is unlinked and links to the new target are established. if newtarget is null the target will be cleared.

Static functions

activateModeDefault
bool activateModeDefault(gst.pad.Pad pad, gst.object.ObjectGst parent, gst.types.PadMode mode, bool active)

Invoke the default activate mode function of a ghost pad.

internalActivateModeDefault
bool internalActivateModeDefault(gst.pad.Pad pad, gst.object.ObjectGst parent, gst.types.PadMode mode, bool active)

Invoke the default activate mode function of a proxy pad that is owned by a ghost pad.

newFromTemplate
gst.ghost_pad.GhostPad newFromTemplate(string name, gst.pad.Pad target, gst.pad_template.PadTemplate templ)

Create a new ghostpad with target as the target. The direction will be taken from the target pad. The template used on the ghostpad will be template.

newNoTarget
gst.ghost_pad.GhostPad newNoTarget(string name, gst.types.PadDirection dir)

Create a new ghostpad without a target with the given direction. A target can be set on the ghostpad later with the gst.ghost_pad.GhostPad.setTarget function.

newNoTargetFromTemplate
gst.ghost_pad.GhostPad newNoTargetFromTemplate(string name, gst.pad_template.PadTemplate templ)

Create a new ghostpad based on templ, without setting a target. The direction will be taken from the templ.

Inherited Members

From ProxyPad

chainDefault
gst.types.FlowReturn chainDefault(gst.pad.Pad pad, gst.object.ObjectGst parent, gst.buffer.Buffer buffer)

Invoke the default chain function of the proxy pad.

chainListDefault
gst.types.FlowReturn chainListDefault(gst.pad.Pad pad, gst.object.ObjectGst parent, gst.buffer_list.BufferList list)

Invoke the default chain list function of the proxy pad.

getrangeDefault
gst.types.FlowReturn getrangeDefault(gst.pad.Pad pad, gst.object.ObjectGst parent, ulong offset, uint size, gst.buffer.Buffer buffer)

Invoke the default getrange function of the proxy pad.

iterateInternalLinksDefault
gst.iterator.Iterator iterateInternalLinksDefault(gst.pad.Pad pad, gst.object.ObjectGst parent)

Invoke the default iterate internal links function of the proxy pad.

getInternal
gst.proxy_pad.ProxyPad getInternal()

Get the internal pad of pad. Unref target pad after usage.