gstreamer/testsuite/plugin
wrobell 08eaa11259 - some fixes to int2float making automake 1.5 happy (gst now requires automake1.5). It's still not perfect but it bui...
Original commit message from CVS:
- added playondemand plugin by Leif Morgan Johnson <lmjohns3@eos.ncsu.edu>
- some fixes to int2float
- aplied a patch from wrobell <wrobell@ite.pl> that is a first attempt at
making automake 1.5 happy (gst now requires automake1.5). It's still not
perfect but it builds.
- Made the schedulers plugable. The default scheduler now lives inside a
plugin.
- Added a new mpeg1/2 parser/demuxer.
- Fixed some compiler warnings in the core libs.
- substantial work to GstThread (hopefully less race conditions). simplified
the code in GstThread a bit. A state change can now also happen in the
thread context.
- reworked the state semantics of a bin. it'll now automatically get the
highest state of its children.
- the autoplugger now nests the threads so that a state change failure of
one thread doesn't make its upstream thread lock.
- GstQueue refuses to go to PLAYING if the sinkpad is not connected. This
way the queue will not wedge in the _get lock.
- GstQueue unlocks its mutexes when going to PAUSED.
- make sure that when all elements in a bin/thread go to PAUSED, the bin
is set to PAUSED too.
- make a parent bin wait for its children to PAUSE before ending the
iteration with FALSE (EOS)
- Some changes to GstPlay to deal with EOS.
- aplied the latest patch from Zeenix to gstrtp.

end result: GstPlay doesn't crash on EOS and the pipeline is now shut down
properly.
2001-12-04 22:12:50 +00:00
..
.gitignore Lots of modifications to the plugin system. 2001-08-21 20:16:48 +00:00
dynamic.c Lots of modifications to the plugin system. 2001-08-21 20:16:48 +00:00
linked.c Lots of modifications to the plugin system. 2001-08-21 20:16:48 +00:00
loading.c Lots of modifications to the plugin system. 2001-08-21 20:16:48 +00:00
Makefile.am - some fixes to int2float making automake 1.5 happy (gst now requires automake1.5). It's still not perfect but it bui... 2001-12-04 22:12:50 +00:00
README Lots of modifications to the plugin system. 2001-08-21 20:16:48 +00:00
registry.c Lots of modifications to the plugin system. 2001-08-21 20:16:48 +00:00
static.c Lots of modifications to the plugin system. 2001-08-21 20:16:48 +00:00
static2.c Lots of modifications to the plugin system. 2001-08-21 20:16:48 +00:00
testplugin.c Lots of modifications to the plugin system. 2001-08-21 20:16:48 +00:00
testplugin2.c Lots of modifications to the plugin system. 2001-08-21 20:16:48 +00:00
testplugin2_s.c Lots of modifications to the plugin system. 2001-08-21 20:16:48 +00:00
testplugin_s.c Lots of modifications to the plugin system. 2001-08-21 20:16:48 +00:00

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)