GStreamer
Application Development Manual (0.8.10)
Wim Taymans
Steve Baker
Andy Wingo
Ronald S. Bultje
Legal Notice
Table of Contents
I.
Overview
Introduction
What is
GStreamer
?
Structure of this Manual
Motivation & Goals
Current problems
The design goals
Foundations
Elements
Bins and pipelines
Pads
II.
Basic Concepts
Initializing
GStreamer
Simple initialization
The popt interface
Elements
What are elements?
Creating a
GstElement
Using an element as a
GObject
More about element factories
Linking elements
Element States
Bins
What are bins
Creating a bin
Custom bins
Pads and capabilities
Pads
Capabilities of a pad
What capabilities are used for
Ghost pads
Buffers and Events
Buffers
Events
Your first application
Hello world
Compiling and Running helloworld.c
Conclusion
III.
Advanced
GStreamer
concepts
Position tracking and seeking
Querying: getting the position or length of a stream
Events: seeking (and more)
Metadata
Stream information
Tag reading
Tag writing
Interfaces
The Mixer interface
The Tuner interface
The Color Balance interface
The Property Probe interface
The X Overlay interface
Clocks in GStreamer
Dynamic Parameters
Getting Started
Creating and Attaching Dynamic Parameters
Changing Dynamic Parameter Values
Different Types of Dynamic Parameter
Threads
When would you want to use a thread?
Constraints placed on the pipeline by the GstThread
A threaded example application
Scheduling
Managing elements and data throughput
Autoplugging
MIME-types as a way to identity streams
Media stream type detection
Plugging together dynamic pipelines
Pipeline manipulation
Data probes
Manually adding or removing data from/to a pipeline
Embedding static elements in your application
IV.
Higher-level interfaces for
GStreamer
applications
Components
Playbin
Decodebin
Spider
GstPlay
GstEditor
XML in
GStreamer
Turning GstElements into XML
Loading a GstElement from an XML file
Adding custom XML tags into the core XML data
V.
Appendices
Things to check when writing an application
Good programming habits
Debugging
Conversion plugins
Utility applications provided with
GStreamer
Integration
Linux and UNIX-like operating systems
GNOME desktop
KDE desktop
OS X
Windows
Licensing advisory
How to license the applications you build with
GStreamer
Windows support
Building
GStreamer
under Win32
Installation on the system
Quotes from the Developers
Next >>>
Overview