GNOME Bugzilla – Bug 576114
omx_vorbisdec trumps oggdemux while accepting all application/x-ogg, incl. videos
Last modified: 2009-08-10 23:38:33 UTC
omx_vorbisdec should have a rank lower than oggdemux's rank. On a normal desktop install with gst-openmax + bellagio it's impossible to play ogg files with video otherwise, since omx_vorbisdec will be chosen over oggdemux and then error out. Surely in environments where ogg video playback is not supported anyway (e.g. because of the absense of theora decoders) there would be no oggdemux installed anyway, so omx_vorbisdec would be chosen even if it had a lower rank? And even if not gst-openmax should just provide defaults that are sane in the general case and let system integrators tweak the details if so desired.
bellagio's vorbis decoder doesn't accept the output of oggdemux, so only application/x-ogg can work. You have two options; either remove bellagio's ogg+vorbis decoder, or remove gst-openmax's vorbisdec. A third option would be to implement a bellagio vorbis.simple decoder and update gst-openmax's wrapper. I don't know what gst-openmax is supposed to be doing here. NEED_INFO.
> I don't know what gst-openmax is supposed to be doing here. NEED_INFO. I think we should just give the omx vorbis decoder a lower rank (RANK_SECONDARY) so that the regular oggdemux/vorbisdec/theoradec combo will be used if it is available. If it's not available, omx_vorbisdec will be used and the user will get an error, which is fine then, since it's not worse than having no decoder installed.
(In reply to comment #2) > > I don't know what gst-openmax is supposed to be doing here. NEED_INFO. > > I think we should just give the omx vorbis decoder a lower rank > (RANK_SECONDARY) so that the regular oggdemux/vorbisdec/theoradec combo will be > used if it is available. If it's not available, omx_vorbisdec will be used and > the user will get an error, which is fine then, since it's not worse than > having no decoder installed. gst-openmax is not used on any major desktop distributions, it's mostly meant for embedded systems where codec vendors provide OpenMAX IL implementations. If you install gst-openmax on your desktop it's probably for testing purposes so you must know what you are doing and therefore only load the plugin when you want to test it. If the priority is SECONDARY, then you will not be able to test the elements. In any case, I'm decreasing the priority because ogg vorbis has never worked that well with bellagio and gst-openmax upstream uses it by default.