WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 34085
[GTK] Should use GStreamer codec installation infrastructure
https://bugs.webkit.org/show_bug.cgi?id=34085
Summary
[GTK] Should use GStreamer codec installation infrastructure
Sebastian Dröge (slomo)
Reported
2010-01-25 06:52:54 PST
If a codec is missing for playing some stream with GStreamer, WebKit should support calling the GStreamer codec installation infrastructure. Relevant documentation:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstpbutilsmissingplugins.html
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstpbutilsinstallplugins.html
In short, a message is posted on the bus with information about missing stuff. WebKit should start the installation then and restart playback after things are installed. Also all following ERROR/WARNING messages after the missing plugin message should be dropped until playback is restarted.
Attachments
Patch
(6.15 KB, patch)
2013-03-29 08:14 PDT
,
Philippe Normand
mrobinson
: review+
mrobinson
: commit-queue-
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Gustavo Noronha (kov)
Comment 1
2010-01-29 05:14:31 PST
I guess this should follow a policy decided by the application - some applications may want to never request installation of missing codecs. Looks like a good thing to start implementing our MediaPlayerClient, and our media player API for.
Philippe Normand
Comment 2
2011-06-06 00:55:06 PDT
***
Bug 62088
has been marked as a duplicate of this bug. ***
ManDay
Comment 3
2011-06-06 01:22:17 PDT
I find this idea rather problematic. Users usually want their package manager to handle packages, not the application internally. I suggest to *not* implement this.
Sebastian Dröge (slomo)
Comment 4
2011-06-06 01:32:26 PDT
That's exactly the point of the GStreamer codec installation infrastructure. It will use a distribution specific script/application to install the codecs, which then use the distribution's package manager.
ManDay
Comment 5
2011-06-06 01:48:35 PDT
My apologies, I wasn't aware of that. However, I must insist that you shall not remove control from the user, nor do I approve of overly fancy auto-mechanisms. But as I understood it, you also suggest that a message asks the user whether he wants to install Codec X/Y or not. I then, to merge
bug #62088
into this thread, suggest that 1) If neither the audio nor the video codec is installed, or either of them is not installed, a "Warning" icon appears in the place where the video would actually play, clicking it removes it and opens a context menu in which a) The required codices can be viewed b) The required codices can be installed by a click of the mouse 2) If all codecs are avaible, no warning appears but a context menu still provides information about which codices are in use.
ManDay
Comment 6
2011-06-06 01:49:52 PDT
***
Bug 62088
has been marked as a duplicate of this bug. ***
ManDay
Comment 7
2011-10-02 10:42:30 PDT
***
Bug 69225
has been marked as a duplicate of this bug. ***
Simon Pena
Comment 8
2012-06-18 03:29:35 PDT
This should / could be fixed together with
bug #34318
: handling missing codecs should be one specific case of error/warning/info handling.
Philippe Normand
Comment 9
2013-03-29 08:14:09 PDT
Created
attachment 195748
[details]
Patch
Martin Robinson
Comment 10
2013-03-29 08:17:35 PDT
Comment on
attachment 195748
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=195748&action=review
Very simple and nice! Please fix the style issues when landing.
> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:50 > +#include <gst/pbutils/missing-plugins.h>
Should be listed alphabetically in the list.
> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:782 > + GstInstallPluginsReturn result = gst_install_plugins_async(&detail, 0, mediaPlayerPrivatePluginInstallerResultFunction, reinterpret_cast<gpointer>(this));
There's no cast necessary to go from a class pointer to void* and reinterpret_cast here can hide real errors, so please remove the cast.
> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:35 > +#include <gst/pbutils/install-plugins.h>
Please list this alphabetically.
Philippe Normand
Comment 11
2013-03-29 08:18:19 PDT
(In reply to
comment #1
)
> I guess this should follow a policy decided by the application - some applications may want to never request installation of missing codecs. Looks like a good thing to start implementing our MediaPlayerClient, and our media player API for.
For now I left this aside. Actually I'm not sure an application would ever want to not install codecs. If this is the case I think that if no codec-installer program is found nothing will be done anyway.
Sebastian Dröge (slomo)
Comment 12
2013-03-30 00:34:22 PDT
Looks good to me
Philippe Normand
Comment 13
2013-03-30 06:06:55 PDT
Committed
r147279
: <
http://trac.webkit.org/changeset/147279
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug