Well, since I had the source, I decided to dive in. Found the problem, and it's due to mime-types & how GnomeBaker registers plugins.
Upon initialization in src/media.c, GnomeBaker registers the "vorbisdec" plugin. Running `gst-inspect vorbisdec` verified that I had this plugin installed with gstreamer0.10.
However, when GnomeBaker registers the plugin, the mime-type it registers it for is application/ogg.
If I were to `cat /etc/mime.types | grep ogg`, I see:
application/ogg ogx
audio/ogg oga ogg spx
video/ogg ogv
So basically what was happening was Ubuntu? was telling GnomeBaker you've got an audio/ogg file. But since there's no plugin registered for audio/ogg, it fails & gives you the error.
So I did a quick hack in src/media.c by creating another vorbisdec registration with the audio/ogg mime type & it was successfully able to load the file, correct length and all.
The peculiar thing is that within /usr/share/mime/audio/ogg.xml, there is a:
<sub-class-of type="application/ogg" />
which I guess links audio/ogg as a subtype of application/ogg, but GnomeBaker just does a basic string comparison of the registered plugin's mime type (app/ogg) and the file's mime type (aud/ogg) and returns good stuff only on a match.
So, assuming the mime type setup is correct (stuff in /usr/share/mime/*) I would say for those having the same problem to just add an extra line in src/media.c to register vorbisdec with mime type audio/ogg:
Code:
media_register_plugin("audio/ogg", "vorbisdec"); /* I added this line */
media_register_plugin("application/ogg", "vorbisdec");
What tipped me off was this trace of messages (looking for audio/ogg but couldn't find a match):
Code:
gbcommon_get_mime_type - uri [file:///test.ogg] mime [audio/ogg]
[0x9120080] [media_get_plugin_status] [media.c] [359]
media_get_plugin_status - plugin mime_type [application/x-id3] requested [audio/ogg]
media_get_plugin_status - plugin mime_type [audio/mpeg] requested [audio/ogg]
media_get_plugin_status - plugin mime_type [audio/x-mp3] requested [audio/ogg]
media_get_plugin_status - plugin mime_type [application/ogg] requested [audio/ogg]
media_get_plugin_status - plugin mime_type [application/x-flac] requested [audio/ogg]
media_get_plugin_status - plugin mime_type [audio/x-flac] requested [audio/ogg]
media_get_plugin_status - plugin mime_type [application/x-mod] requested [audio/ogg]
media_get_plugin_status - plugin mime_type [application/x-wav] requested [audio/ogg]
media_get_plugin_status - plugin mime_type [audio/x-wav] requested [audio/ogg]
media_get_plugin_status - plugin mime_type [video/x-ms-asf] requested [audio/ogg]
media_get_plugin_status - plugin mime_type [audio/mp4] requested [audio/ogg]
media_get_plugin_status - plugin mime_type [audio/x-m4a] requested [audio/ogg]
media_get_plugin_status - plugin mime_type [audio/x-ms-wma] requested [audio/ogg]
[0x9120080] [gnomebaker_show_msg_dlg] [gnomebaker.c] [223]
gnomebaker_show_msg_dlg - message [The plugin to handle a file of type audio/ogg is not installed.]
I don't know if this is a bug or what or if my system is just misconfigured, but I guess you can say this "solved".
Bookmarks