Renamed the filter writers guide to plugin writers guide.

Original commit message from CVS:
Renamed the filter writers guide to plugin writers guide.
Added in the planned section headings.
This commit is contained in:
Richard Boulton 2001-01-08 01:21:18 +00:00
parent 7a40eda7b6
commit 9f8702b992
3 changed files with 123 additions and 34 deletions

16
docs/fwg/.gitignore vendored
View file

@ -3,11 +3,11 @@ Makefile.in
*.bak *.bak
.deps .deps
images images
gst-filter-writers-guide gst-plugin-writers-guide
gst-filter-writers-guide.pdf gst-plugin-writers-guide.pdf
gst-filter-writers-guide.ps gst-plugin-writers-guide.ps
gst-filter-writers-guide.dvi gst-plugin-writers-guide.dvi
gst-filter-writers-guide.tex gst-plugin-writers-guide.tex
gst-filter-writers-guide.log gst-plugin-writers-guide.log
gst-filter-writers-guide.aux gst-plugin-writers-guide.aux
gst-filter-writers-guide.junk gst-plugin-writers-guide.junk

View file

@ -1,7 +1,7 @@
manualname = gst-filter-writers-guide manualname = gst-plugin-writers-guide
htmlname = index.html htmlname = index.html
sgml_files = gst-filter-writers-guide.sgml \ sgml_files = gst-plugin-writers-guide.sgml \
titlepage.sgml \ titlepage.sgml \
intro.sgml \ intro.sgml \
concepts.sgml concepts.sgml

View file

@ -4,12 +4,28 @@
<!ENTITY INTRO SYSTEM "intro.sgml"> <!ENTITY INTRO SYSTEM "intro.sgml">
<!ENTITY CONCEPTS SYSTEM "concepts.sgml"> <!ENTITY CONCEPTS SYSTEM "concepts.sgml">
<!ENTITY FIRSTPLUGIN SYSTEM ".sgml">
<!ENTITY TESTAPP SYSTEM ".sgml">
<!ENTITY LOOPBASED SYSTEM ".sgml">
<!ENTITY TYPESNPROPS SYSTEM ".sgml">
<!ENTITY BUFFERS SYSTEM ".sgml">
<!ENTITY SRCNSINK SYSTEM ".sgml">
<!ENTITY STATEMANAGE SYSTEM ".sgml">
<!ENTITY CHECKLIST SYSTEM ".sgml">
]> ]>
<book id="index"> <book id="index">
&TITLEPAGE; &TITLEPAGE;
<!-- ############# Overview - part ############### --> <!-- ############# part ############### -->
<part id="introduction"><title>Introduction</title> <part id="introduction"><title>Introduction</title>
<partintro> <partintro>
@ -36,7 +52,7 @@
&INTRO; &INTRO;
</part> </part>
<!-- ############ Basic concepts - part ############# --> <!-- ############ part ############# -->
<part id="basic-concepts"><title>Basic concepts</title> <part id="basic-concepts"><title>Basic concepts</title>
<partintro> <partintro>
@ -52,23 +68,21 @@
</part> </part>
<!-- ############ Building A Filter - part ############# --> <!-- ############ part ############# -->
</book>
<part id="first-plugin"><title>Building our first plugin</title>
<partintro>
<para>
We are now have the neccessary concepts to build our first plugin.
We are going to build an element which has a single input pad and
a single output pad, and simply passes anything it reads on
the input pad through and out on the output pad. In a later
section we will convert this plugin into something less useless.
</para>
</partintro>
&FIRSTPLUGIN;
GStreamer Filter Writer's Guide
===============================
Outline:
Basic concepts
Chain vs loop elements
Scheduling
Buffers
Typing and Properties
Metadata
Building our first filter
Constructing the boilerplate Constructing the boilerplate
Doing it the easy way with FilterFactory Doing it the easy way with FilterFactory
(NOTE: FilterFactory doesn't exist yet) (NOTE: FilterFactory doesn't exist yet)
@ -80,43 +94,118 @@ Building our first filter
The plugin_init function The plugin_init function
Registering the types Registering the types
Registering the filter Registering the filter
Building a simple test application </part>
<!-- ############ part ############# -->
<part id="test-app"><title>Building a simple test application</title>
<partintro>
<para>
</para>
</partintro>
&TESTAPP;
Initialization Initialization
Instantiating the plugins Instantiating the plugins
(NOTE: we really should have a debugging Sink) (NOTE: we really should have a debugging Sink)
Connecting them Connecting them
Running the pipeline Running the pipeline
Loop-based Elements </part>
<!-- ############ part ############# -->
<part id="loopbased"><title>Loop-based Elements</title>
<partintro>
<para>
</para>
</partintro>
&LOOPBASED;
How scheduling works, aka pushing and pulling How scheduling works, aka pushing and pulling
How a loopfunc works, aka pulling and pushing How a loopfunc works, aka pulling and pushing
Adding a second output Adding a second output
Identity is now a tee Identity is now a tee
Modifying the test application Modifying the test application
Types and Properties </part>
<!-- ############ part ############# -->
<part id="typesnprops"><title>Types and Properties</title>
<partintro>
<para>
</para>
</partintro>
&TYPESNPROPS;
Building a simple format for testing Building a simple format for testing
A simple MIME type A simple MIME type
Type properties Type properties
Typefind functions and autopluggin Typefind functions and autoplugging
Buffers and Metadata </part>
<!-- ############ part ############# -->
<part id="buffersnmeta"><title>Buffers and Metadata</title>
<partintro>
<para>
</para>
</partintro>
&BUFFERS;
Anatomy of a Buffer Anatomy of a Buffer
Refcounts and mutability Refcounts and mutability
Metadata Metadata
How Properties work efficiently How Properties work efficiently
Metadata mutability Metadata mutability
(FIXME: this is an unsolved problem) (FIXME: this is an unsolved problem)
Sources and Sinks </part>
<!-- ############ part ############# -->
<part id="srcnsink"><title>Sources and Sinks</title>
<partintro>
<para>
</para>
</partintro>
&SRCNSINK;
Writing a source Writing a source
Pull vs loop based Pull vs loop based
Region pulling Region pulling
(NOTE: somewhere explain how filters use this) (NOTE: somewhere explain how filters use this)
Writing a sink Writing a sink
Gee, that was easy Gee, that was easy
State management </part>
<!-- ############ part ############# -->
<part id="statemanage"><title>State management</title>
<partintro>
<para>
</para>
</partintro>
&STATEMANAGE;
What are states? What are states?
Mangaging filter state Mangaging filter state
Checklist </part>
<!-- ############ part ############# -->
<part id="checklist"><title>Checklist</title>
<partintro>
<para>
</para>
</partintro>
&CHECKLIST;
Things to check when writing a filter Things to check when writing a filter
Things to check when writing a source or sink Things to check when writing a source or sink
</part>
</book>