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.
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.