Summary: | [GStreamer] Cannot play Vimeo video | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Sergio Villar Senin <svillar> | ||||||||||||||||
Component: | Media | Assignee: | Nobody <webkit-unassigned> | ||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||
Severity: | Normal | CC: | buildbot, calvaris, eric.carlson, luis, pnormand, rniwa | ||||||||||||||||
Priority: | P2 | ||||||||||||||||||
Version: | 528+ (Nightly build) | ||||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||
URL: | http://vimeo.com/98746172 | ||||||||||||||||||
Bug Depends on: | |||||||||||||||||||
Bug Blocks: | 136887 | ||||||||||||||||||
Attachments: |
|
Description
Sergio Villar Senin
2014-07-16 03:16:05 PDT
Philn mentioned on IRC that as we claim to be safari, the server returns an HLS stream that was not very well supported on gst 1.2.X. I'm going to try with 1.3.91 to check if the problem is fixed, as it seems HLS support got a lot of love during the 1.3 cycle. In any case maybe we'd need an UA quirk for vimeo and gst < 1.4 Sergio, If you want I can look into this. Unless you are already on it :) (In reply to comment #2) > Sergio, > > If you want I can look into this. Unless you are already on it :) Sure, go ahead I don't have much time right now. Cool! Will let you know what I discover. I can play the video in that webpage by doing: gst-launch-1.0 playbin http://pdl.vimeocdn.com/65636/827/267647821.mp4?token2=1407785825_a385b7572bd2379bc2c8f1e458bd36bb&aksessionid=e8439d7ee4ae0e0a With both git master branch of GStreamer (1.5.0) and an old stable release 1.2.4. Something is going wrong, I will continue investigating where it could happen. Philippe proposed I comment out the registration of http src element [1] to make it fallback to souphttpsrc and see if the problem is in that code. I did this but the video still doesn't work. Now reading the logs in detail and following the code flow. [1] MediaPlayerPrivateGStreamer.cpp: initializeGStreamerAndRegisterWebKitElements() I've been debugging this a bit today... So the HLS main playlist is correctly requested and received by our httpsrc element but then hlsdemux, creating a new webkithttpsrc element and trying to fetch the first sub-playlist fails and the http server at Vimeo returns a 403 error. Now comparing with a wireshark dump of Safari loading the same video, it looks like the cookies set by the server when it returned the main playlist are passed along subsequent playlist/fragment loading... The issue seems to be that our httpsrc element doesn't set cookies correctly in the resources to be loaded after the main HLS playlist, Thanks Philippe! That is a great find. I will be getting back to being in front of the keyboard next week and I can work on having the httpsrc set the cookies correctly. The patch is quite simple, I have it working here locally :) But I'm blocked on the layout test now, it fails because the cached resource loader seems to remove the Cookie header from the HTTP request, I think I'm close to have it working though. Cool! Let me know how it goes. Will ping you next week. Created attachment 238255 [details]
Patch
Eric, would you like to review this patch? Comment on attachment 238255 [details] Patch Attachment 238255 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/6737284317577216 New failing tests: http/tests/media/hls/video-cookie.html Created attachment 238256 [details]
Archive of layout-test-results from webkit-ews-12 for mac-mountainlion-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-12 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Comment on attachment 238255 [details] Patch Attachment 238255 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/5730290043453440 New failing tests: http/tests/media/hls/video-cookie.html Created attachment 238257 [details]
Archive of layout-test-results from webkit-ews-01 for mac-mountainlion
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-01 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Created attachment 238290 [details]
Patch
Hoping the Mac EWS will like this one better.
Comment on attachment 238290 [details] Patch Attachment 238290 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/6263283136856064 New failing tests: http/tests/media/hls/video-cookie.html Created attachment 238297 [details]
Archive of layout-test-results from webkit-ews-03 for mac-mountainlion
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-03 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Comment on attachment 238290 [details]
Patch
Ok I'll debug this on Mac and update the patch.
Comment on attachment 238290 [details] Patch Attachment 238290 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/6718309152063488 New failing tests: http/tests/media/hls/video-cookie.html Created attachment 238302 [details]
Archive of layout-test-results from webkit-ews-10 for mac-mountainlion-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-10 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
(In reply to comment #22) > Created an attachment (id=238302) [details] > Archive of layout-test-results from webkit-ews-10 for mac-mountainlion-wk2 > > The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. > Bot: webkit-ews-10 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5 I don't understand what's going on, the player fetches the main playlist but the sub-playlist-with-cookie.php is not fetched at all. Would you have an idea on what's going on Eric? Created attachment 238350 [details]
Patch
Flagged the test in mac TestExpectations.
Comment on attachment 238350 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=238350&action=review The patch looks good. > LayoutTests/platform/mac/TestExpectations:1391 > +webkit.org/b/134969 http/tests/media/hls/video-cookie.html [ Failure ] I think it'd be better to open a new bug to track this failure explaining the problems to fetch subplaylists. Committed r173809: <http://trac.webkit.org/changeset/173809> Very cool Philippe :) |