Bug 174222

Summary: [GStreamer] Live twitch.tv videos do not play
Product: WebKit Reporter: Charlie Turner <cturner>
Component: WebKitGTKAssignee: Charlie Turner <cturner>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, commit-queue, mcatanzaro
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Charlie Turner 2017-07-06 15:41:35 PDT
Not investigated yet, but apparently we're missing a plugin to play whatever twitch.tv is serving in its live streams.
Comment 1 Charlie Turner 2017-07-07 06:13:53 PDT
This was an upstream in bug in typefind, it was incorrectly deducing the type of Twitch HLS streams as text/uri-list. It's fixed by

e68c071bf01c1b4b796c48a87b511005e8c0c9f6 typefind: Switch to normal mode before have-type

I recommend we update our GStreamer dependency. Conservatively can go to 1.10.5, since there's nothing (apart from the fix above) adventurous,

$ git log --pretty=oneline 1.10.4...1.10.5
2bec169793cddeaad35a1e50a0e7d5f1d7946a58 Release 1.10.5
4eb8908fa9589d7ff555c44798f19fa65711acc2 Update .po files
37a9b02391e468226498f26ae8922cea68bb6e22 message: Don't pass a NULL debug string to g_utf8_validate()
e68c071bf01c1b4b796c48a87b511005e8c0c9f6 typefind: Switch to normal mode before have-type
f727d67d5300b85fae405d371dd171b6528eb9ed meson: update version
9c80d89d74244658675ef281b3ceceb32ae1fd66 meson: Fix build with latest upstream git
Comment 2 Michael Catanzaro 2017-07-07 08:57:09 PDT
(In reply to Charlie Turner from comment #1)
> This was an upstream in bug in typefind, it was incorrectly deducing the
> type of Twitch HLS streams as text/uri-list. It's fixed by
> 
> e68c071bf01c1b4b796c48a87b511005e8c0c9f6 typefind: Switch to normal mode
> before have-type
> 
> I recommend we update our GStreamer dependency. Conservatively can go to
> 1.10.5, since there's nothing (apart from the fix above) adventurous,

OK. Do you want to prepare a patch for the WPE and GTK JHBuild modulesets?
Comment 3 Charlie Turner 2017-07-07 09:06:35 PDT
Yep, I am working on that. I will do another test run once I'm finished to make sure there's no regressions.
Comment 4 Charlie Turner 2017-07-10 07:57:55 PDT
This is looking alright to be, current patch review (no changes needed)

<patch file="gstreamer-0001-protection-added-function-to-filter-system-ids.patch" strip="1"/>
bda8440 in version 1.12.0 - still needed

<patch file="gst-plugins-good-0003-rtpbin-receive-bundle-support.patch" strip="1"/>
dcd3ce9 in version 1.11.0 - still needed

<patch file="gst-plugins-good-0004-qtdemux-add-context-for-a-preferred-protection.patch" strip="1"/>
not committed upstream - still needed.

There's some noise on stderr related to things like OpenWebRTC and MediaStream, neither of which has complete implementation, so I don't know whether to make this block the otherwise good upgrade.
Comment 5 Charlie Turner 2017-07-10 08:29:58 PDT
WPE has for some reason lagged behind the previous GStreamer version bumps. I'm not setup yet to adequately test upgrades on WPE, but when I am I will look at upgrading it also.
Comment 6 Charlie Turner 2017-07-10 08:33:34 PDT
Created attachment 314982 [details]
Patch
Comment 7 Michael Catanzaro 2017-07-10 08:42:20 PDT
Comment on attachment 314982 [details]
Patch

Of course, it'd be even better to upgrade to 1.12, so we can test against the software our users are actually running. But that would probably require rebaselining more layout tests.
Comment 8 WebKit Commit Bot 2017-07-10 09:10:22 PDT
Comment on attachment 314982 [details]
Patch

Clearing flags on attachment: 314982

Committed r219292: <http://trac.webkit.org/changeset/219292>
Comment 9 WebKit Commit Bot 2017-07-10 09:10:23 PDT
All reviewed patches have been landed.  Closing bug.
Comment 10 Michael Catanzaro 2017-07-10 09:44:35 PDT
Oops, for future reference, we should have done the JHBuild moduleset update in a separate bug report.