[gst-devel] Proposal for XML Description File for Plugins

Jeff Mitchell jeff.mailinglists at gmail.com
Tue Feb 8 15:26:25 CET 2005

> Information is currently in various locations because it needs to
> be.  The information that is currently compiled into plugins is
> very basic and is pretty much necessary for functionality.  Note
> that plugin information is not, in general, extractable from the
> source code.  Don't even try, it's pointless.  Some plugins don't
> know what elements they can create until runtime.
> All this information is available from the binary, which is how it
> should be extracted.

So you're saying that in order to build the status tables, the entire
source tree should be built, every plugin run, and output evaluated? 
Why is the information located in the GstElementDetails struct
necessary for runtime, other than to query it?

> > I propose a new file, written in XML, that is included with each
> > plugin.
> Having lots of new files scattered around the source tree is simply
> annoying.  Put it all in one file (or a few files).

The idea is to generate a file that gets built with the www module
from the various plugin descriptions.  Putting it all in one file
implies that every developer that writes a plugin would need to update
that single file, and be trusted not to break it.  Or the information
would have to be extracted from the binaries as you said.

> Bonus points
> for having the script update the file with new element information
> from the information extracted from plugins.

Not sure what you mean by new element information.  I'm new to
Gstreamer in most ways.

> Honestly, I don't care if we completely drop the Long Description
> from the plugin information.  It's not useful in its current form.

Noted, but that was something that was specifically requested by
others...I guess someone will eventually have to make an executive
decision about that...

I'm still failing to see why extracting the information from the
binaries is a better solution.  Besides the need then to build the
binaries instead of running the script on the source tree, it seems
like it'd make it harder to ensure that the output is standardized,
harder to remember to update that information in all the various
places it may be in the source code, etc.  Having all of the
information in one simple, clean file for each plugin would make
things much clearer and I believe would make it easier on the
developers to keep things updated, albeit at the cost of a single
extra file per plugin.

If others on the list can comment on the merits of binary extraction
vs. an XML file, I'd appreciate it.  I'd like to see whether the
prevailing opinion among developers is that a seperate file or binary
extraction would make more sense.


More information about the gstreamer-devel mailing list