%image-entities;
%version-entities;
%url-entities;
The code for this example is automatically extracted from
the documentation and built under examples/manual
in the GStreamer tarball.
">
]>
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/opl.shtml )
GStreamer Application Development Manual (&GST_VERSION;)
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, Eric Harlow's book Developing
Linux Applications with GTK+ and GDK and the
Glib Object
system.
&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.
&ELEMENTS;
&PADS;
&PLUGINS;
&LINKS;
&BINS;
&BUFFERS;
&STATES;
Basic API
This chapter will describe the basics of programming with GStreamer.
Most of the concepts from the previous chapter will be illustrated with code
fragments.
Most of the code examples in this manual are automatically extracted as part
of the build process of the GStreamer tarball. After building GStreamer from
source, you will find the examples in examples/manual.
Each example has a comment on the first line giving the name of the file
it will be extracted as.
&INIT-API;
&ELEMENTS-API;
&PADS-API;
&PLUGINS-API;
&LINKS-API;
&BINS-API;
&BUFFERS-API;
&STATES-API;
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;
&WIN32;
"ES;