This section introduces the basic concepts required to understand the issues involved in extending GStreamer