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 + + + +