From 4e7797546aa80f3d96bf346f212ba01fb6795b6f Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Fri, 11 Mar 2016 01:40:39 +1100 Subject: [PATCH] gleffects; give each effect a unique long name and description Gives applications that scrape the factory details more detailed and unique details on the exact element. https://bugzilla.gnome.org/show_bug.cgi?id=760566 --- ext/gl/gstgleffects.c | 11 +++++++++++ ext/gl/gstgleffects.h | 1 + 2 files changed, 12 insertions(+) diff --git a/ext/gl/gstgleffects.c b/ext/gl/gstgleffects.c index b2b453f8c2..1518a645cb 100644 --- a/ext/gl/gstgleffects.c +++ b/ext/gl/gstgleffects.c @@ -350,6 +350,7 @@ gst_gl_effects_filter_class_init (GstGLEffectsClass * klass, const GstGLEffectsFilterDescriptor * filter_descriptor) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + GstElementClass *element_class = GST_ELEMENT_CLASS (klass); klass->filter_descriptor = filter_descriptor; @@ -366,6 +367,15 @@ gst_gl_effects_filter_class_init (GstGLEffectsClass * klass, GST_TYPE_GL_EFFECTS_EFFECT, GST_GL_EFFECT_IDENTITY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + } else { + gchar *description = g_strdup_printf ("GL Shading Language effects - %s", + filter_descriptor->filter_longname); + + gst_element_class_set_metadata (element_class, + filter_descriptor->filter_longname, "Filter/Effect/Video", + description, "Filippo Argiolas "); + + g_free (description); } g_object_class_install_property (gobject_class, @@ -605,6 +615,7 @@ gst_gl_effects_filters_descriptors (void) for (i = 0; i < n_filters; ++i, ++effect) { descriptors[i].effect = effect->value; descriptors[i].filter_name = effect->value_nick; + descriptors[i].filter_longname = effect->value_name; } for (defined = gst_gl_effects_filters_supported_properties (); diff --git a/ext/gl/gstgleffects.h b/ext/gl/gstgleffects.h index 82c33a9978..ddd2292fc9 100644 --- a/ext/gl/gstgleffects.h +++ b/ext/gl/gstgleffects.h @@ -46,6 +46,7 @@ typedef struct { gint effect; guint supported_properties; const gchar *filter_name; + const gchar *filter_longname; } GstGLEffectsFilterDescriptor; typedef void (* GstGLEffectProcessFunc) (GstGLEffects *effects);