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/ )

# GStreamer 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+/glib2 programming model, the reader is assumed to understand the basics of GTK+ and the glib2.0 object model. 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.

&INIT;

&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;

## Advanced GStreamer 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;

&AUTOPLUGGING;

&HELLOWORLD2;

&UTILITY;

## XML in GStreamer

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;

&QUOTES;