python 2.7 - How do you access Gstreamer Registry to get a list of what plugins are available programatically -


i want build list of audiovisualiser elements able offer them in dropdown list within python program , same audio effects how access gstreamer-1.0 registry.

the solution simple , yet took age find it.
here sample code illustrate method.

#!/usr/bin/python #access registry find out plugins available #list elements within plugin #list elements within klass gi.repository import gst gst.init() reg = gst.registry.get()  print "list available plugins\n" x in reg.get_plugin_list():     print x.get_name() print "end available plugins\n"  print "list plugins in audiovisual\n" x in reg.get_feature_list_by_plugin("audiovisualizers"):     print x.get_name(), "\t", x.get_longname() print "end\n"  print "all available visualisations\n" vis_list = [filt filt in reg.get_feature_list(gst.elementfactory) \         if (filt.get_klass().find("visualization") >= 0)] x in vis_list:     short = x.get_name()     name = x.get_longname()     print (short + "\t\t" + name) print "end\n"  print "all available audio filters\n" audio_filter_list = [filt filt in reg.get_feature_list(gst.elementfactory) \         if (filt.get_klass().find("filter/effect/audio") >= 0)] x in audio_filter_list:     short = x.get_name()     name = x.get_longname()     print (short + "\t\t" + name) print "end\n" 

Comments