This chapter will discuss how you can manipulate your pipeline in several ways from your application on. Parts of this chapter are downright hackish, so be assured that you'll need some programming knowledge before you start reading this.
Topics that will be discussed here include how you can insert data into a pipeline from your application, how to read data from a pipeline, how to manipulate the pipeline's speed, length, starting point and how to listen to a pipeline's data processing.
Probes are best envisioned as pad listeners. They are attached to a pad in a pipeline, and you can add callback functions to this probe. Those callback functions will be called whenever data is being sent over this pad. The callback can then decide whether the data should be discarded or it can replace the piece of data with another piece of data. In this callback, it can also trigger actions in the application itself. For pipeline manipulation, probes are rather limited, but for pipeline tracking, they can be very useful.