You can see from the following figure how a bin has no pads of its own. This is where "ghost pads" come into play.
A ghost pad is a pad from some element in the bin that has been promoted to the bin. This way, the bin also has a pad. The bin becomes just another element with a pad and you can then use the bin just like any other element. This is a very important feature for creating custom bins.
The above figure is a representation of a ghost pad. The sink pad of element one is now also a pad of the bin.
element = Gst::ElementFactory.make("mad") bin = Gst::Bin.new bin.add(element) bin.add_ghost_pad(element.get_pad("sink"), "sink")
In the above example, the bin now also has a pad: the pad called 'sink' of the given element.
We can now, for example, link the source pad of a filesrc element to the bin with:
filesrc = Gst::ElementFactory.make("filesrc") filesrc >> bin