Issue metadata
Sign in to add a comment
|
Incredibly stupid behavior in loading videos:
Reported by
teo8...@gmail.com,
May 8 2016
|
||||||||||||||||||||||
Issue description
UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36
Example URL:
Steps to reproduce the problem:
1. have a page with 16 <video> elements none of them playing, none of them with autoplay attribute
In case it's relevant, I create the <video> elements with javascript, particularly with jQuery like this:
$("someselector").append('<video src="video_url.mp4"></video>');
I do this in a loop, all at a time.
What is the expected behavior?
1) Chrome should load just the first few bytes of every video, in order to show the first frame as a thumbnail. Since no video is playing, there's no need to load more than a few bytes per video, and hence it shouldn't take long until all of the video thumbnails are shown.
2) There's no valid scenario whatsoever under which it can possibly happen that the requests for some of the videos remain pending forever and their preview is never displayed, while none of the remaining video requests is still going on. Even if some of the videos were to be downloaded completely, or a big portion of them were (which is already wrong given that none of them is playing), it may take a little longer than expected to show all the thumbs, but at some point the requests that had been initiated for some of the videos (I understand there's a maximum of parallel requests going on at any given time), either partial or not, should be completed (or fail if for whatever reason), and hence all or some of the pending ones will be initiated, and so on, until all previews are shown.
If, at any given point, some of the video previews aren't being shown, then in the Network tab I should see the corresponding request is either failed or pending; if it is pending, it must be because some other request is still downloading.
At any given point, either
- all of the requests are complete (succesfull or failed) or cancelled (if there was a good reason for that, which is not the case here)
OR
- some of the requests are pending and others are still going on, meaning data is being downloaded.
What went wrong?
- some of the preview take a lot to display; some never get to.
- in the Network tab of the DevTools I see the following:
-- of some videos, an unnecessarily big portion is downloaded, causing other requests to remain pending for longer than necessary before they start being executed (which explains the delay of some thumbs in showing up)
-- after a pretty long time, a few requests are completed with a 206 response; a few others remain pending forever, and no request is downloading.
See the screenshot: at the time the screenshot is taken, everything is still. The fact that there are pending requests while nothing else is downloading is in itself a nonsense. A request cannot remain pending forever; if there's no other request working, the pending ones should start in some order.
The whole situation is a complete nonsense.
Did this work before? N/A
Is it a problem with Flash or HTML5? HTML5
Does this work in other browsers? N/A
Chrome version: 50.0.2661.94 Channel: stable
OS Version:
Flash Version: Shockwave Flash 21.0 r0
,
May 8 2016
And there's an additional, critical issue. When I reload the page (whether [a] the situation is as described in the main report, that all the requests are done or pending, or [b] some of them are actually still ongoing), the request for the very HTML PAGE remains pending forever. It's like the pending or ongoing requests from the previous page load are not properly cancelled. It's not the server that is taking long to respond, the request is not even being initiated. And it doesn't even timeout after a while! This is f***ing unbelievable.
,
May 8 2016
A workaround for the initial issue is to declare preload="metadata" in the video tags. Note that (a) this shouldn't be necessary, and it comes at a cost that I shouldn't have to pay. Even if I do want preload="auto", the browser should be intelligent enough to preload the metadata *first*, especially while none of the videos is playing; (b) nothing can justify the stall situation where some requests remain pending forever while all the other are finished; and (c) the issue in comment 2 is monstruous.
,
May 8 2016
Perhaps it'w worth mentioning that the abovementioned videos have insanely high bitrate (I hadn't realized how much, between 10 and 50 Mbps, and my ADSL connection is around 18Mbps real). That doesn't by any means justify the observed behavior, but it could be that the issue is somewhat subtle and less likely to surface under more "normal" conditions.
,
May 9 2016
Please, refrain from using words like "stupid" or "f**cking" in the future. I encourage you to read our code of conduct: https://www.chromium.org/conduct |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by teo8...@gmail.com
, May 8 2016