The fundamental component of GStreamer is the "element", an object that sources and/or sinks data. Elements are connected to each other via "pads", which are extremely light-weight generic connections. Elements can be contained inside "bins", which themselves are elements. A pipeline consists of any number of elements, connected to each other one after another. A source would connect to one end of a decoder, which in turn would be connected (on the other end) to a sink, such as a sound card. Other elements can be located anywhere in the pipeline, including tees and transcoders.