source: trunk/third/gstreamer/testsuite/plugin/README @ 18714

Revision 18714, 1.8 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18713, which included commits to RCS files with non-trunk default branches.
Line 
1The following plugin modes are supported:
2
31) registry based
4-----------------
5
6All known plugins are listed in the registry file.
7
8  gst_plugin_find ("pluginname");
9
10Works right after gst_init (), along with the elements in it.
11dynamic loading of the plugin is performed when a feature inside
12it is requested.
13
14example: registry.c. (You might want to run gstreamer-register with
15the --gst-plugin-path=. to added the test dir to the plugin path so
16that the testplugins can be found)
17
18
192) non registry based, dynmic loading
20-------------------------------------
21
22Plugins are know after a gst_plugin_load ("pluginname"). This
23function will scan de plugin paths, so you might want to perform
24a gst_plugin_add_path ("path").
25
26After the gst_plugin_load(), the features are available without any
27further actions.
28
29example: dynamic.c
30
31
323) non registry based, shared linking
33-------------------------------------
34
35You can add the plugin .so (or equivalent) file to the LDFLAGS at
36compile time. The plugin will be known after the gst_init() without
37any further actions.
38
39example: linked.c
40
41
424) non registry based, static linking
43-------------------------------------
44
45Plugin compiled with the GST_PLUGIN_STATIC defined can be statically
46linked to the executable. The plugin is available after gst_init ()
47without any further actions.
48
49example: static.c (plugins are statically linked from another file)
50         static2.c (plugins are included in the main file)
51
52
53Any combination of the above is possible too, for example, you can use
54a registry, have some plugins load dynamically and have another few
55linked in as a shared lib.
56
57You cannot statically link multiple plugins that are compiled without the
58GST_PLUGIN_STATIC symbol defined (this will cause multiple defined at link
59time for obvious reasons)
Note: See TracBrowser for help on using the repository browser.