Bug 146999 - [GStreamer] Handle missing plugins better at runtime
Summary: [GStreamer] Handle missing plugins better at runtime
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 147000
  Show dependency treegraph
 
Reported: 2015-07-16 10:00 PDT by Michael Catanzaro
Modified: 2015-08-14 09:33 PDT (History)
3 users (show)

See Also:


Attachments
Backtrace (76.56 KB, text/plain)
2015-07-16 10:10 PDT, Michael Catanzaro
no flags Details
patch (3.73 KB, patch)
2015-08-14 08:20 PDT, Philippe Normand
cgarcia: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Catanzaro 2015-07-16 10:00:24 PDT
I see the following critical warnings when loading https://www.youtube.com/watch?v=nesCaocNjtQ using r186861:

(WebKitWebProcess:14021): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(WebKitWebProcess:14021): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(WebKitWebProcess:14021): GStreamer-CRITICAL **: gst_element_link_pads_full: assertion 'GST_IS_ELEMENT (dest)' failed

A backtrace to the first warning is attached.
Comment 1 Michael Catanzaro 2015-07-16 10:10:56 PDT
Created attachment 256906 [details]
Backtrace
Comment 2 Michael Catanzaro 2015-07-16 10:14:48 PDT
Note, I'm using GStreamer revision 6379b7a07b2212db39d26609635fb5b3b904c7d2 (on the 1.4 branch) but this issue has occurred for a long time.
Comment 3 Philippe Normand 2015-07-29 01:55:13 PDT
(In reply to comment #1)
> Created attachment 256906 [details]
> Backtrace

Looking at this trace it seems you don't have the autoaudiosink gst element. Can you check your gst-plugins-good jhbuild installation?

Within the JHBuild shell this should show a description of the element:

gst-inspect-1.0 autoaudiosink
Comment 4 Michael Catanzaro 2015-07-29 07:57:04 PDT
Indeed, thanks Philippe:

$ gst-inspect-1.0 autoaudiosink
No such element or plugin 'autoaudiosink'

Looks like the problem is that we do not depend on gst-plugins-good in GNOME jhbuild, only on gst-plugins-base. Also, our CMake build system clearly does not require it. Is gst-plugins-good mandatory, then? Should we require it at build time, or allow building without it and handle the failure better runtime?
Comment 5 Philippe Normand 2015-07-29 08:23:58 PDT
(In reply to comment #4)
> Indeed, thanks Philippe:
> 
> $ gst-inspect-1.0 autoaudiosink
> No such element or plugin 'autoaudiosink'
> 
> Looks like the problem is that we do not depend on gst-plugins-good in GNOME
> jhbuild, only on gst-plugins-base. Also, our CMake build system clearly does
> not require it. Is gst-plugins-good mandatory, then? Should we require it at
> build time, or allow building without it and handle the failure better
> runtime?

I don't think we should require it in CMake, -good doesn't provide any library, only plugins. But we should provide better runtime support indeed, handle failures better, like you suggest :)
Comment 6 Philippe Normand 2015-08-14 08:20:16 PDT
Created attachment 259001 [details]
patch
Comment 7 Carlos Garcia Campos 2015-08-14 09:10:16 PDT
Comment on attachment 259001 [details]
patch

Thanks!
Comment 8 Philippe Normand 2015-08-14 09:33:10 PDT
Committed r188472: <http://trac.webkit.org/changeset/188472>