GNOME Bugzilla – Bug 105488
missing plugins should be automatically downloaded/installed
Last modified: 2004-12-22 21:47:04 UTC
When you try to open a file and gstreamer misses the plugin to load it, it should warn the user about the missing plugin(s) and ask whether he wants to download/install them automatically. This would make it easier to play DivX and MP3 files on systems like RedHat which don't provide those plugins for legal reasons. It would also help people read videos without having to install zillions of plugins themselves.
In order to do this, we have to decide how to provide these plugins. Auto-downloading installable packages is almost certainly impossible, due to both lack of any kind of shared API to which we can connect (ahem, anyone?), and the ability to build for all the various distros. I have thought about providing per-user downloads (i.e. downloads into $HOME/.gst/plugins), if we can deal with issues such as dependencies. Things like DivX will be a major hassle because the libs ATM are highly unstable and very *very* distro-specific. Also, this isn't the job of the GStreamer core at all, this must be done by an external application/library. Any smarts as to dealing with particular distros should be located there. On a Debian system it could su and apt-get install the relevant plugins and libraries where possible. Other distros would be harder.
Excuse me for my ignorance but aren't gstreamer plugins like Mozilla plugins ? I mean a single .so file ? If it's the case, I think it could be rather easy to install them in user-land (without root access) or for the whole system (using su). And as for Mozilla plugins, I don't think there would be big troubles between different distributions, the only problem being between different architectures. But I might as well completely miss something :) If, on the contrary, plugins need to install a bunch of files, setup things etc..., I think the problem could only be resolved by: - adding apt4rpm to gstreamer's RPM dependencies (for non-debian distros) - setting up apt repositories for the plugins (PLF.org, freshrpms.net and some Debian repositories...) - using apt-get to retrieve the pluing and its dependencies. If all that isn't possible for any reason, then of course distributions should take care of that themselves (especially Red Hat which doesn't provide MP3 support, which can be very misleading for new users IMO).
We talked about this at FOSDEM, Julien (Dolphy) offered to host a GStreamer plugin repository on their company servers. We just need to implement a network registry first. As a sidenote, I noticed that NMM claims to have a network registry so maybe we can use their design if it is sane.
This is an interesting idea, but we need someone that is interested in implementing it. Personally, I don't see this as much of an issue. It may become more of a problem in the future, in which case this bug can be reopened. Currently, however, I think this is a solution looking for a problem.