The GstElementDetails structure gives a hierarchical type for the element, a human-readable description of the element, as well as author and version data. The entries are:
A long, english, name for the element.
The type of the element, as a hierarchy. The hierarchy is defined by specifying the top level category, followed by a "/", followed by the next level category, etc. The type should be defined according to the guidelines elsewhere in this document. (FIXME: write the guidelines, and give a better reference to them)
A brief description of the purpose of the element.
The name of the author of the element, optionally followed by a contact email address in angle brackets.
For example:
static GstElementDetails example_details = {
"An example plugin",
"Example/FirstExample",
"Shows the basic structure of a plugin",
"your name <your.name@your.isp>"
};
The element details are registered with the plugin during
the _base_init () function, which is part of
the GObject system. The _base_init () function
should be set for this GObject in the function where you register
the type with Glib.
static void
gst_my_filter_base_init (GstMyFilterClass *klass)
{
static GstElementDetails my_filter_details = {
[..]
};
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
[..]
gst_element_class_set_details (element_class, &my_filter_details);
}