diff --git a/docs/fwg/Makefile.am b/docs/fwg/Makefile.am
index 4450f5689d..bd4be9b47e 100644
--- a/docs/fwg/Makefile.am
+++ b/docs/fwg/Makefile.am
@@ -5,7 +5,10 @@ sgml_files = gst-plugin-writers-guide.sgml \
titlepage.sgml \
intro.sgml \
concepts.sgml \
- firstplugin.sgml
+ firstplugin.sgml \
+ testapp.sgml \
+ loopbased.sgml \
+ typesnprops.sgml
fig_files =
eps_files =
diff --git a/docs/fwg/firstplugin.sgml b/docs/fwg/firstplugin.sgml
index ef54027c77..2ada120a2a 100644
--- a/docs/fwg/firstplugin.sgml
+++ b/docs/fwg/firstplugin.sgml
@@ -74,6 +74,34 @@
available by writing the boilerplate yourself, so some plugins will
always need to be manually registered.
+
+ As a rough outline of what is planned: the FilterFactory will take a
+ list of appropriate function pointers, and data structures to define
+ a filter. With a reasonable measure of preprocessor magic, the
+ plugin writer will then simply need to provide definitions of the
+ functions and data structures desired, and a name for the filter, and
+ then call a macro from within plugin_init() which will register the
+ new filter. All the fluff that goes into the definition of a filter
+ will thus be hidden from view.
+
+
+ Ideally, we will come up with a way for various FilterFactory-provided
+ functions to be overridden, to the point where you can construct
+ almost the most complex stuff with it, it just saves typing.
+
+
+ Of course, the filter factory can be used to create sources and sinks
+ too: simply create a filter with only source or sink pads.
+
+
+ You may be thinking that this should really be called an
+ ElementFactory. Well, we agree, but there is already something else
+ justifiably ealled an ElementFactory (this is the thing which actually
+ makes instances of elements). There is also already something called
+ a PluginFactory. We just have too many factories and not enough words.
+ And since this isn't yet written, it doesn't get priority for claiming
+ a name.
+
diff --git a/docs/fwg/gst-plugin-writers-guide.sgml b/docs/fwg/gst-plugin-writers-guide.sgml
index e6bcef6814..9f5fdf0d1b 100644
--- a/docs/fwg/gst-plugin-writers-guide.sgml
+++ b/docs/fwg/gst-plugin-writers-guide.sgml
@@ -7,11 +7,11 @@
-
+
-
+
-
+
@@ -99,11 +99,6 @@
&TESTAPP;
- Initialization
- Instantiating the plugins
- (NOTE: we really should have a debugging Sink)
- Connecting them
- Running the pipeline
@@ -115,11 +110,6 @@
&LOOPBASED;
- How scheduling works, aka pushing and pulling
- How a loopfunc works, aka pulling and pushing
- Adding a second output
- Identity is now a tee
- Modifying the test application
@@ -131,10 +121,6 @@
&TYPESNPROPS;
- Building a simple format for testing
- A simple MIME type
- Type properties
- Typefind functions and autoplugging
diff --git a/docs/fwg/loopbased.sgml b/docs/fwg/loopbased.sgml
new file mode 100644
index 0000000000..249f9ff9ad
--- /dev/null
+++ b/docs/fwg/loopbased.sgml
@@ -0,0 +1,27 @@
+
+ How scheduling works
+
+ aka pushing and pulling
+
+
+
+
+ How a loopfunc works
+
+ aka pulling and pushing
+
+
+
+
+ Adding a second output
+
+ Identity is now a tee
+
+
+
+
+ Modifying the test application
+
+
+
+
diff --git a/docs/fwg/testapp.sgml b/docs/fwg/testapp.sgml
new file mode 100644
index 0000000000..be0807291f
--- /dev/null
+++ b/docs/fwg/testapp.sgml
@@ -0,0 +1,25 @@
+
+ Initialization
+
+
+
+
+
+ Instantiating the plugins
+
+ (NOTE: we really should have a debugging Sink)
+
+
+
+
+ Connecting the plugins
+
+
+
+
+
+ Running the pipeline
+
+
+
+
diff --git a/docs/fwg/typesnprops.sgml b/docs/fwg/typesnprops.sgml
new file mode 100644
index 0000000000..acb30ace5d
--- /dev/null
+++ b/docs/fwg/typesnprops.sgml
@@ -0,0 +1,24 @@
+
+ Building a simple format for testing
+
+
+
+
+
+ A simple MIME type
+
+
+
+
+
+ Type properties
+
+
+
+
+
+ Typefind functions and autoplugging
+
+
+
+