GhostPads are useful when organizing pipelines with Bin 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 Element. 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, GhostPad is the function to use to get a ghost-pad. Otherwise one can use GhostPad.no_target to create the ghost-pad and use set_target to establish the association later on.
Note that GhostPads add overhead to the data processing of a pipeline.