]> Wim Taymans wim.taymans@chello.be This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at http://www.opencontent.org/openpub/ ) <application>GStreamer</application> Application Development Manual Overview The first chapter of the book gives you an overview of GStreamer design goals. Chapter 2 rapidly covers the basics of GStreamer programming. In chapter 3 we will move on to the examples. Since GStreamer adheres to the GTK+ programming model, the reader is assumed to understand the basics of GTK+. For a gentle introduction to GTK+, you may wish to read the GTK+ Tutorial or Eric Harlow's book Developing Linux Applications with GTK+ and GDK. &INTRO; &MOTIVATION; &GOALS; Basic concepts We will first describe the basics of the GStreamer programming by introducing the different objects needed to create a media pipeline. We will use a visual representation of these objects so that we can visualize the more complex pipelines you will learn to build later on. &ELEMENTS; &PLUGINS; &PADS; &CONNECTIONS; &BINS; &BUFFERS; &STATES; Building an application With the basic concepts out of the way, you're ready to start building a full-scale GStreamer application. We assume the reader is familiar with GTK+/GNOME programming. &HELLOWORLD; &FACTORIES; &HELLOWORLD2; Advanced <application>GStreamer</application> concepts In this part we will cover the more advanced features of GStreamer. With the basics you learned in the prevous part you should be able to create a 'simple' pipeline. If you want more control over the media types and the pipeline you should use the more low-level features of GStreamer. &THREADS; &QUEUES; &COTHREADS; &DYNAMIC; &TYPEDETECTION; &UTILITY; XML in <application>GStreamer</application> GStreamer has the posibility to externalize the pipelines you create using an XML format. You can load a previously created pipeline by loading the XML file. &XML; Appendices GStreamer comes prepackaged with a few programs. and some usefull debugging options. &DEBUGGING; &PROGRAMS; &COMPONENTS; "ES;