GNOME Bugzilla – Bug 760566
All the gleffects have the same name and description
Last modified: 2016-03-11 15:56:16 UTC
$ cat >gleffects.py <<EOF from gi.repository import Gst Gst.init([]) factories = Gst.Registry.get().get_feature_list(Gst.ElementFactory) for factory in factories: print ("KLASS=%s" % factory.get_klass(), "LONGNAME=%s" % factory.get_longname(), "DESCRIPTION=%s" % factory.get_description(), "NAME=%s" % factory.get_name()) EOF $ python3 gleffects.py | grep -i "gleffects" KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_laplacian KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_blur KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_sobel KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_glow KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_sin KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_xray KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_lumaxpro KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_xpro KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_sepia KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_heat KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_square KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_bulge KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_twirl KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_fisheye KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_tunnel KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_stretch KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_squeeze KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_mirror KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects_identity KLASS=Filter/Effect/Video LONGNAME=Gstreamer OpenGL Effects DESCRIPTION=GL Shading Language effects NAME=gleffects They should have unique names and descriptions so they can be identified. (Pitivi)
Problem here is http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/ext/gl/gstgleffects.c#n651 This should probably have a different class_init and also pass data to it (to know the name of the current effect), either via GType qdata or via class_init_data. Check gst-libav, gst-omx or the frei0r plugin for how that can be done.
Filippo, interested in making the change, or do you prefer to do something else? :)
commit 4e7797546aa80f3d96bf346f212ba01fb6795b6f Author: Matthew Waters <matthew@centricular.com> Date: Fri Mar 11 01:40:39 2016 +1100 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