GStreamer
Plugin Writer's Guide
Richard John Boulton
Erik Walthinsen
Legal Notice
Table of Contents
I.
Introduction
1.
Do I care?
2.
Preliminary reading
II.
Basic concepts
3.
Plugins
4.
Elements
5.
Buffers
6.
Scheduling
7.
Chain vs Loop Elements
8.
Typing and Properties
9.
Metadata
III.
Building our first plugin
10.
Constructing the boilerplate
Doing it the hard way with GstObject
Doing it the easy way with FilterFactory
11.
An identity filter
Building an object with pads
Attaching functions
The chain function
12.
The plugin_init function
Registering the types
Registering the filter
Having multiple filters in a single plugin
IV.
Building a simple test application
13.
Initialization
14.
Instantiating the plugins
15.
Connecting the plugins
16.
Running the pipeline
V.
Loop-based Elements
17.
How scheduling works
18.
How a loopfunc works
19.
Adding a second output
20.
Modifying the test application
VI.
Types and Properties
21.
Building a simple format for testing
22.
A simple MIME type
23.
Type properties
24.
Typefind functions and autoplugging
VII.
Buffers and Metadata
VIII.
Sources and Sinks
IX.
State management
Next
Introduction