WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WONTFIX
136450
[GStreamer] GST_STREAM_ERROR_TYPE_NOT_FOUND errors are skipped
https://bugs.webkit.org/show_bug.cgi?id=136450
Summary
[GStreamer] GST_STREAM_ERROR_TYPE_NOT_FOUND errors are skipped
Fabien Vallée
Reported
2014-09-02 05:41:37 PDT
Tested on linux / gtk port / gstreamer 1.4.0 but same issue was already there long time ago in Qt port / gstreamer 0.10.19 (code is very old,
http://trac.webkit.org/changeset/83598
). When gstreamer send "GST_STREAM_ERROR_TYPE_NOT_FOUND" error, the error is skipped (= not reported to the MediaPlayerClient)
http://trac.webkit.org/browser/releases/WebKitGTK/webkit-2.4/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp?annotate=blame&rev=172912#L1027
Definition of stalled event is : "The user agent is trying to fetch media data, but data is unexpectedly not forthcoming"
http://www.w3.org/TR/2011/WD-html5-20110113/video.html#event-media-stalled
Definition of GST_STREAM_ERROR_TYPE_NOT_FOUND is "used when the element doesn't know the stream's type."
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstGError.html
GST_STREAM_ERROR_TYPE_NOT_FOUND doesn't seems related to "data is unexpectedly not forthcoming". I don't know why GST_STREAM_ERROR_TYPE_NOT_FOUND was chosen, but the code is very very old, so maybe gst was lacking some error type back then. Anyway this cause troubles: when gstreamer try to play an invalid video, it will usually trigger GST_STREAM_ERROR_TYPE_NOT_FOUND. I didn't find any 'stalled' related regression test, but in LayoutTests/media/broken-video.html, playback of LayoutTests/media/content/garbage.mp4 triggers 2 errors: Error 4: Could not determine type of stream. (url=file:///xxxx/LayoutTests/media/content/garbage.mp4) GST_STREAM_ERROR: 4, Could not determine type of stream. Decode error, let the Media element emit a stalled event. Error 1: GStreamer encountered a general stream error. (url=file:///xxxx/LayoutTests/media/content/garbage.mp4) GST_STREAM_ERROR: 1, GStreamer encountered a general stream error. First error (GST_STREAM_ERROR: 4) is skipped, but second error (GST_STREAM_ERROR: 1) is handled and the test can pass (but only because of the second error). However if I change the video src to another invalid video (
http://itv.mit-xperts.com/hbbtvtest/playerevents/novideo.php/video.mp4
), only "GST_STREAM_ERROR: 4, Could not determine type of stream" error is triggered. As GST_STREAM_ERROR_TYPE_NOT_FOUND is skipped, the error event is never triggered and the test timeout. Same test (using modified video src) works fine using chromium (Version 36.0.1985.125 (283153)) and opera 12.16.
Attachments
based on LayoutTest/media/broken-video.html only changed the video src
(624 bytes, text/html)
2014-09-02 05:45 PDT
,
Fabien Vallée
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Fabien Vallée
Comment 1
2014-09-02 05:45:52 PDT
Created
attachment 237484
[details]
based on LayoutTest/media/broken-video.html only changed the video src test can pass using chromium (Version 36.0.1985.125 (283153)) and opera 12.16. Fails (timeout, no event triggered) using webkitgtk.
Fabien Vallée
Comment 2
2014-09-02 05:58:55 PDT
To correct my first comment, there are tests for 'stalled' event, e.g. : LayoutTests/http/tests/media/video-play-stall.html The test timeout as per
https://bugs.webkit.org/show_bug.cgi?id=108925
but even if I increase run-webkit-tests timeout I don't think gstreamer is sending GST_STREAM_ERROR_TYPE_NOT_FOUND message in that case.
Fabien Vallée
Comment 3
2014-09-02 06:11:09 PDT
Comment on
attachment 237484
[details]
based on LayoutTest/media/broken-video.html only changed the video src need to copy the file to LayoutTest/media/ folder to access media-file.js and video-test.js
Philippe Normand
Comment 4
2014-09-02 07:15:22 PDT
This code was actually introduced in
http://trac.webkit.org/changeset/81229
and I think that reverting it will break a test again.
Fabien Vallée
Comment 5
2014-09-02 07:59:30 PDT
Yeah, I agree, anyway thanks Philippe for answer. I will try to check what's going on in video-play-stall-before-meta-data.html
Fabien Vallée
Comment 6
2015-03-04 05:40:39 PST
won't fix.
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