Structure of this manual

To help you navigate through this guide, it is divided into several large parts. Each part addresses a particular broad topic concerning GStreamer appliction development. The parts of this guide are laid out in the following order:

Part I, “About GStreamer” gives you an overview of GStreamer, it's design principles and foundations.

Part II, “Building an Application” covers the basics of GStreamer application programming. At the end of this part, you should be able to build your own audio player using GStreamer

In Part III, “Advanced GStreamer concepts”, we will move on to advanced subjects which make GStreamer stand out of its competitors. We will discuss application-pipeline interaction using dynamic parameters and interfaces, we will discuss threading and threaded pipelines, scheduling and clocks (and synchronization). Most of those topics are not just there to introduce you to their API, but primarily to give a deeper insight in solving application programming problems with GStreamer and understanding their concepts.

Next, in Part IV, “Higher-level interfaces for GStreamer applications”, we will go into higher-level programming APIs for GStreamer. You don't exactly need to know all the details from the previous parts to understand this, but you will need to understand basic GStreamer concepts nevertheless. We will, amongst others, discuss XML, playbin and autopluggers.

Finally in Part V, “Appendices”, you will find some random information on integrating with GNOME, KDE, OS X or Windows, some debugging help and general tips to improve and simplify GStreamer programming.