|  |  |  | GStreamer 0.10 Core Reference Manual |  | 
|---|
| GstGhostPadGstGhostPad — Pseudo link pads | 
#include <gst/gst.h>
            GstGhostPad;
GstPad*     gst_ghost_pad_new               (const gchar *name,
                                             GstPad *target);
GstPad*     gst_ghost_pad_new_no_target     (const gchar *name,
                                             GstPadDirection dir);
gboolean    gst_ghost_pad_set_target        (GstGhostPad *gpad,
                                             GstPad *newtarget);
GstPad*     gst_ghost_pad_get_target        (GstGhostPad *gpad);
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 other GstElements. 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 accociated 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
accociation later on.
Last reviewed on 2005-11-18 (0.9.5)
GstPad* gst_ghost_pad_new (const gchar *name, GstPad *target);
Create a new ghostpad with target as the target. The direction and
padtemplate will be taken from the target pad.
Will ref the target.
| name: | the name of the new pad, or NULL to assign a default name. | 
| target: | the pad to ghost. | 
| Returns : | a new GstPad, or NULL in case of an error. | 
GstPad* gst_ghost_pad_new_no_target (const gchar *name, GstPadDirection 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_set_target() function.
The created ghostpad will not have a padtemplate.
| name: | the name of the new pad, or NULL to assign a default name. | 
| dir: | the direction of the ghostpad | 
| Returns : | a new GstPad, or NULL in case of an error. | 
gboolean gst_ghost_pad_set_target (GstGhostPad *gpad, GstPad *newtarget);
Set the new target of the ghostpad gpad. Any existing target
is unlinked and links to the new target are established.
| gpad: | the GstGhostpad | 
| newtarget: | the new pad target | 
| Returns : | TRUE if the new target could be set, FALSE otherwise. | 
GstPad* gst_ghost_pad_get_target (GstGhostPad *gpad);
Get the target pad of gpad. Unref target pad after usage.
| gpad: | the GstGhostpad | 
| Returns : | the target GstPad, can be NULL if the ghostpad has no target set. Unref target pad after usage. | 
| << GstFormat | GstImplementsInterface >> |