Closed Bug 972638 Opened 10 years ago Closed 9 years ago

Detect missing gstreamer plugins


(Core :: Audio/Video: Playback, enhancement, P5)






(Reporter: alessandro.d, Assigned: luis)



When using the gstreamer media backend, people currently get an enigmatic "No video with supported mime type found" error if they are missing the necessary plugins to decode a stream. Missing plugins also cause hard to diagnose mochitest failures. 

The first thing that we should probably do about this is ensure that the major linux distros install the relevant gst plugins when firefox is installed. The backend right now depends on the following gstreamer modules: gstreamer, gst-plugins-base, gst-plugins-good, gst-plugins-bad and either gst-libav or some 3rd party h264 decoder (I believe Fluendo has one, but there are also others).

Additionally, GStreamer has runtime support for detecting missing plugins and notifying the calling application. The application can react to the notification by showing an error and/or installing the missing plugins in order for decoding to continue.

For example if you watch something with the GNOME video player (or even the Epiphany web browser) under Fedora/Ubuntu and you're missing some plugins, you get a popup dialog asking you to install some packages. After the installation is finished decoding continues and the video starts playing. This is implemented through an external helper utility that distros configure through the GST_INSTALL_PLUGINS_HELPER environment variable. Implementing this behaviour is a no-brainer, since we can reuse the helper utility and it just becomes matter of adding ~10 lines of code in GStreamerReader.

I am not sure what we could do in the case in which GST_INSTALL_PLUGINS_HELPER is not set or during mochitests.

Assignee: nobody → luis
Thanks Alessandro! :)
I have been very busy at work lately. Will work on this bug soon.

Sorry about that.
Component: Audio/Video → Audio/Video: Playback
gstreamer is going in bug 1234092
Closed: 9 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.