GStreamer Plugin Boilerplate Generator

MaZderMind ml at mazdermind.de
Mon Feb 4 16:20:47 UTC 2019


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


More information about the gstreamer-devel mailing list