How to use gst-element-maker?

Patrick Doyle wpdster at gmail.com
Sat Mar 29 15:47:39 PDT 2014


The plugin writers guide recommends using gst-element-maker to create new
plugins.  So I cloned gst-plugins-bad and ran

t$ ./gst-plugins-bad/tools/gst-element-maker --help

which produced:

Usage: element-maker [OPTIONS] ELEMENT_NAME BASE_CLASS
Create a GStreamer element that subclasses BASE_CLASS.
Options:
  --help             Print this information
  --prefix PREFIX    Use PREFIX instead of "gst"
Example: 'element-maker my_element basetransform' will create the files
  gstmyelement.c and gstmyelement.h that implement GstMyElement, a
  subclass of GstBaseTransform, as an element named myelement.



Not knowing anything else to try, I tried:

$ ./gst-plugins-bad/tools/gst-element-maker my_element basetransform

which produced:

./gst-plugins-bad/tools/gst-element-maker: 383:
./gst-plugins-bad/tools/gst-element-maker: gst-indent: not found
pkg is gstreamer-base-1.0


So now I have a few questions...

1) I ran the version of gst-element-maker from the master branch.  Is that
a reasonable version to use?  Or should I use the version from the 1.2.3
tag?

2) What are my options for BASE_CLASS?  I expect, for the element I'm
writing, basetransform is likely to be the right base class for me, but how
would I know?  Where would I look to learn about basetransform?  Oh, wait a
minute, I just found GstBaseTransform listed in the Gstreamer Library
Reference Manual.  That seems like a reasonable place to look for candidate
base classes.  Are there other places I should consider?

3) How much should I be worried about the "gst-indent: not found" error?

4) I notice that the script produced gstmyelement.c & gstmyelement.h, but
it also produced a gstmyelement.o and gstmyelement.so.  That's kinda cool,
except that I'm going to have to reproduce gstmyelement.{o,so} as soon as I
modify gstmyelement.[ch].  Is there any way to have the script produce a
Makefile as well?

Thanks for any tips...

--wpd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140329/b188fb9a/attachment.html>


More information about the gstreamer-devel mailing list