gstreamer/testsuite/plugin/README
Wim Taymans 12bbbd5c1e Lots of modifications to the plugin system.
Original commit message from CVS:
Lots of modifications to the plugin system.
- Added a GstPluginfeature object that serves as a base class for all
plugin contents.
- changed the plugin API, everyhting is now added with
gst_plugin_add_feature
- typefactories are named now so that they can be located easily and filled
in at plugin load.
- mime types like "video/raw image/raw" are gone for now.
- lots of plugin updates (style and API changes)
- tested with an without registry.
- updates to various tools.
- added a little testsuite to test/show how you can load plugins (4 modes)

Test this one, Almost everything has changed :-)
2001-08-21 20:16:48 +00:00

59 lines
1.8 KiB
Text

The following plugin modes are supported:
1) registry based
-----------------
All known plugins are listed in the registry file.
gst_plugin_find ("pluginname");
Works right after gst_init (), along with the elements in it.
dynamic loading of the plugin is performed when a feature inside
it is requested.
example: registry.c. (You might want to run gstreamer-register with
the --gst-plugin-path=. to added the test dir to the plugin path so
that the testplugins can be found)
2) non registry based, dynmic loading
-------------------------------------
Plugins are know after a gst_plugin_load ("pluginname"). This
function will scan de plugin paths, so you might want to perform
a gst_plugin_add_path ("path").
After the gst_plugin_load(), the features are available without any
further actions.
example: dynamic.c
3) non registry based, shared linking
-------------------------------------
You can add the plugin .so (or equivalent) file to the LDFLAGS at
compile time. The plugin will be known after the gst_init() without
any further actions.
example: linked.c
4) non registry based, static linking
-------------------------------------
Plugin compiled with the GST_PLUGIN_STATIC defined can be statically
linked to the executable. The plugin is available after gst_init ()
without any further actions.
example: static.c (plugins are statically linked from another file)
static2.c (plugins are included in the main file)
Any combination of the above is possible too, for example, you can use
a registry, have some plugins load dynamically and have another few
linked in as a shared lib.
You cannot statically link multiple plugins that are compiled without the
GST_PLUGIN_STATIC symbol defined (this will cause multiple defined at link
time for obvious reasons)