Hi there,
last time I asked on IRC how to best start a new Plugin, the suggestion was to "copy whatever comes close to what you're seeking for and modify it". Unfortunately the GObject Class-System requires, at least in the way GStreamer uses it, to write the Name of an Elemnt over and over again in different writings. Also setting up basic Properties requires the author to put the correct lines of Boilerplate into multiple places, especially for some Property-Types (ENUM, FLAGS). Additionally setting up a working Build-Environment, configure.ac, Makefile etc. can be a tedious task, if one is not familar with the structure and reqirements. I know that there is https://gstreamer.freedesktop.org/documentation/plugin-development/basics/boiler.html but it only kind'a solves the first Problem. All of this poses overhead on the Plugin-Development. One can spend a whole day or two copying an existing Plugin, removing all the functional pieces, renaming all the things and adding back Properties, Signals and bringing the Plugin to do at least something. To make it simpler for me and others to create new Plugins and get a faster start, I created https://gstreamer.mazdermind.de/ . It's a python backed Web-GUI creating complete build-environments for GStreamer-Plugins. It supports BaseSrc, PushSrc, BaseSink and BaseTransform vor Video, Audio and ANY-Media-Types. It assists in generating Property-Code for all types including ENUMs and FLAGs as well as Signals. It generates a .zip-File with a complete build-environment including Shellscripts for quick inspection and running the compiled plugin. There is a Travis-Job (https://travis-ci.org/MaZderMind/gstreamer-plugin-generator) which, additionally to running Unit-Test for Front and Backend, compiles a multitude of different Combinations, so I am pretty confident that whatever passes the Form-Validation should result in a buildable- and runnable Plugin. I hope you find this tool useful and would love to collect some Feedback. Best Regards, Peter _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Mon, 4 Feb 2019 17:20:47 +0100
MaZderMind <[hidden email]> wrote: > Hi there, > Hi, > last time I asked on IRC how to best start a new Plugin, the suggestion > was to "copy whatever comes close to what you're seeking for and modify it". > > Unfortunately the GObject Class-System requires, at least in the way > GStreamer uses it, to write the Name of an Elemnt over and over again in > different writings. > [...] > I know that there is > https://gstreamer.freedesktop.org/documentation/plugin-development/basics/boiler.html > but it only kind'a solves the first Problem. > As that page suggests, some templates can be found at: https://gitlab.freedesktop.org/gstreamer/gst-template However as noted in one of the issue there (https://gitlab.freedesktop.org/gstreamer/gst-template/issues/2), the recommended templates are now in gst-plugins-bad: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/tree/master/tools Here you can choose the base class depending on the kind of element you want to create. And you can create the autotools project. I also have a script to create a meson project instead of an autotools one and I plan to submit it to gst-plugins-bad soon. > All of this poses overhead on the Plugin-Development. One can spend a > whole day or two copying an existing Plugin, removing all the functional > pieces, renaming all the things and adding back Properties, Signals and > bringing the Plugin to do at least something. > > To make it simpler for me and others to create new Plugins and get a > faster start, I created https://gstreamer.mazdermind.de/ . > [...] > I hope you find this tool useful and would love to collect some Feedback. > This is certainly interesting for new users. Maybe the UI can reuse the templates from gst-plugin-bad to have a common ground for "official" examples. Ciao, Antonio -- Antonio Ospite https://ao2.it https://twitter.com/ao2it A: Because it messes up the order in which people normally read text. See http://en.wikipedia.org/wiki/Posting_style Q: Why is top-posting such a bad thing? _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |