def uri_schemes__get(self):
dici = {}
reg = gst.registry_get_default()
plugins = reg.get_plugin_list()
for plugin in plugins:
features = reg.get_feature_list_by_plugin(plugin.get_name())
for feature in features:
if isinstance(feature, gst.ElementFactory):
try:
if feature.get_uri_type():
protocols = feature.get_uri_protocols()
for protocol in protocols:
## We want only be fallback, if there is another
## player for the uri
dici[str(protocol)] = 150
except AttributeError, e:
#FIXME: this is a work-a-round for pygst-bug #385841,
# remove it as fast as possible
print "error", feature.get_name()
continue
return dici
output:
error flummssrc
error mmssrc
error cdaudio
error dvdreadsrc
error neonhttpsrc
error dv1394src
error filesink
error filesrc
error fdsink
error fdsrc
error udpsrc
error udpsink
error gnomevfssink
error gnomevfssrc
error cdparanoiasrc
error cdiocddasrc
error rtspsrc