Hi, In this release: * the way to implement a plugin changed a little: now, I defined a macro that makes it possible to just DECLARE_VIDEOINPUT_PLUGIN("PI", PVideoInputPiDevice)! To make it more explicit: writing a plugin is now just a matter of having this sort of magic line+implementing a PVideoInputDevice... no need to define static extern "C" thingies: the macro does it all for you! * the manager checks for the type of plugins; may come in handy if the number of possible types of plugins grows; it isn't seen by the drivers' authors, since the macro hides it ;-) * a little compiler-warning change in the manager; * the plugins/Makefile has changed... hopefully it is more manageable for packagers wanting to include these betas (ie: dominance, who helped me get it this way); * the avc plugin has a little compiler-warning fix; * Damien helped me to fix a long-standing detection-of-an-already-opened device issue I discovered only this afternoon -- in the v4l plugin; * all plugins use the macro, hence declare their type to the manager; I also changed my packaging a little, to begin the transformation to something upstream may accept: * gm.patch is the same patch as usual for gm, it may help upstream to see how easy and nice it is to use those plugins+their manager; * video_plugins.h belongs to $(PWLIBDIR)/include/ptlib/unix/ptlib/ ; * vidin_manager_dlopen.cxx belongs to$(PWLIBDIR)/src/ptlib/unix/ ; * plugins/ belongs to $(PWLIBDIR) ; * pwlib.patch adds the manager and the plugins in the make targets, and video_plugins.h to pwlib's video subsystem, ie: with it you should be able to use make opt optshared install and have the plugins. If you want to help, integration into pwlib's build system would be a nice way... for now, the includes, switches, etc... are all written in the plugins/Makefile, and not obtained through the rest of the build... Snark
Attachment:
release-beta5.tar.bz2
Description: application/bzip