Wim
Taymans

wim.taymans@chello.be

Steve
Baker

stevebaker_org@yahoo.co.uk

Andy
Wingo

wingo@pobox.com

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

gives you an overview of GStreamer design goals.

rapidly covers the basics of GStreamer programming.

In we will move on to the examples. Since GStreamer uses GLib 2.0, the reader is assumed to understand the basics of the GObject object model.

For a gentle introduction to this system, 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 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;

&LINKS;

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

&SCHEDULERS;

&CLOCKS;

&DYNAMIC;

&TYPEDETECTION;

&AUTOPLUGGING;

&HELLOWORLD2;

&DPARAMS;

## XML in GStreamer

GStreamer has the possibility to serialize 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 useful debugging options.

&DEBUGGING;

&PROGRAMS;

&COMPONENTS;

&GNOME;

&QUOTES;