Comment 10 for bug 1121254

Revision history for this message
Michael Schwendt (mschwendt) wrote :

Codec installation is troublesome here, because

(1) gnome-packagekit has been broken for several releases of Fedora including current Fedora 18 ( https://bugzilla.redhat.com/756208 ). It crashes, which makes Soundconverter treat that as unsuccessful installation immediately. Only very rarely one can install a missing plugin that way.

(2) installation of the plugins is asynchronous on top of TagReader being based on BackgroundTask gobject idle callbacks. Currently, and especially with Fedora 19 development, I cannot be sure that TagReaders, which encounter a missing codec, are processed properly at all. One of the running tag readers results in the async dialog for codec installation, but the others don't receive the install_plugin_cb callback (and possibly not even a GST ASYNC_DONE message).

So, what's my work-around?

Based on all the fixes after 2.0.4, I've merged all patches into a single large one that was easier to compare with your 2.0.5 tree:
http://pkgs.fedoraproject.org/cgit/soundconverter.git/plain/soundconverter-2.0.4-fedora.patch

It still contains the forwarded exceptions work-around. And it waits for the tag readers to complete before starting the actual conversion. Because that is done, I forward another flag from inside the gstreamer Pipeline that tells the main UI whether a gstreamer plugin has been installed. If that happens during tag reading, I simply restart the entire do_convert step (= the tag reading!), and that may prompt for further missing plugins. Great! So far that even works with Fedora 19 development.