Sets our main struct and passes it to the parent class.
Create a new ghostpad with @target as the target. The direction will be taken from the target pad. @target must be unlinked.
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.
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_set_target() function.
Create a new ghostpad based on @templ, without setting a target. The direction will be taken from the @templ.
Finish initialization of a newly allocated ghost pad.
Get the main Gtk struct
the main Gtk struct as a void*
Get the target pad of @gpad. Unref target pad after usage.
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.
Invoke the default activate mode function of a ghost pad.
Invoke the default activate mode function of a proxy pad that is owned by a ghost pad.
the main Gtk struct
the main Gtk struct
Get the main Gtk struct
the main Gtk struct as a void*
Invoke the default chain function of the proxy pad.
Invoke the default chain list function of the proxy pad.
Invoke the default getrange function of the proxy pad.
Invoke the default iterate internal links function of the proxy pad.
Get the internal pad of @pad. Unref target pad after usage.
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_new() is the function to use to get a ghost-pad. Otherwise one can use gst_ghost_pad_new_no_target() to create the ghost-pad and use gst_ghost_pad_set_target() to establish the association later on.
Note that GhostPads add overhead to the data processing of a pipeline.