GNOME Bugzilla – Bug 394697
[PATCH] easy codec installation support
Last modified: 2007-01-10 14:25:36 UTC
Attached the totem part of the patch to enable easy/automatic GStreamer codec installation for totem. The GStreamer backend bits for this haven't been committed yet, but aren't important either. Basically, the backend will emit a missing-plugins signal when plugins are missing. This happens either when an error occured or the playback engine is ready for playback ("prerolled" in GStreamer lingo) but can't decode all of the streams. If this happens, it will call libgimmecodec with the details of the missing plugins and wait (asynchroneously) for the result. If new plugins have been installed, a rescan of the GStreamer registry will be triggered and playback tried again. This requires an up-to-date GStreamer core and gst-plugins-base from CVS.
Created attachment 79858 [details] [review] patch adding support for automatic installation of missing plugins via libgimmecode
Created attachment 79936 [details] [review] updated patch Updated patch as suggested on IRC. Changes: - only require GStreamer CVS if libgimme-codec stuff is actually used - add a totem_missing_plugins_setup() and move all the bits into totem-missing-plugins.c The required backend additions (ie. add the signal) have been committed now, so this could go in at any time as well.
Looks good, thanks.
Thanks, committed: 2007-01-10 Tim-Philipp Müller <tim at centricular dot net> * configure.in: * src/Makefile.am: * src/totem-missing-plugins.c: Added. (totem_codec_install_plugin_is_blacklisted): (totem_codec_install_blacklist_plugin): (totem_codec_install_context_free): (on_gimme_codec_installation_done): (totem_on_missing_plugins_event): (totem_missing_plugins_setup): * src/totem-missing-plugins.h: Added. * src/totem.c: (video_widget_create): Add optional support for automatic/easy missing codec installation via libgimme-codec. If libgimme-codec is available and the GStreamer backend is used (and a recent-enough gst-plugins-base used), totem will use the library to call an external installer program with information about the plugins missing. If anything was installed, the GStreamer plugin registry will be updated and playback tried again (without the need to restart totem). (Closes: #394697)