Video playback can get stuck in race |
|||
Issue descriptionVersion: 49.0.2623.87 (Official Build) (64-bit) OS: OSX on Retina MBP NVidia What steps will reproduce the problem? (1) See repo here as the files were too big to attach https://github.com/greggman/chrome-video-issue What is the expected output? The page completes What do you see instead? About 1/2 way through chrome gets into some serious race like condition AFAIK this worked pre 47 but I don't know how to check is it required MP4 support and chromium builds don't include mp4 support. Neither does Canary so I can't test on Canary
,
Mar 25 2016
The test case exhibits two known-bad behaviors: (1) it opens more than 6 HTTP connections to the same origin (only 6 can work at a time), and (2) it does not properly clear the src of unused video elements (they may continue to hold a connection, see https://www.w3.org/TR/html5/embedded-content-0.html#best-practices-for-authors-using-media-elements for the standard solution). I cannot reproduce this behavior on a recent build. It's likely that Chrome is doing a better job of detecting these idle players and killing connections, as we have been working on various mitigations for (2). Chrome Canary does have MP4 support, so I suggest that you re-test there, however I suspect that clearing the src after thumbnailing will fix your problem.
,
Mar 28 2016
So I pushed a new version. This one waits for `playing`, it then makes a thumbnail and calls `video.pause()`. There's an event on `pause` that calls
video.removeAttribute("src");
The video element is then reused (or would be if there were move videos)
It still hangs for me in Canary
51.0.2692.0 (Official Build) canary (64-bit)
,
Mar 28 2016
Removing the src attribute has no effect according to the spec; you must also call load(). Setting it to the empty string (video.src = '') without calling load also works, at least in Chrome.
,
Mar 28 2016
Setting src = '' doesn't work. It generates an error trying to load the root of the website as a video
,
Mar 29 2016
So removing the src attribute and calling load seems to fix the issue. Thank you for that. It's still a regression though. The original code had been running since last september and only stopped working 2-4 weeks ago.
,
Apr 15 2016
Unable to reproduce, likely working as intended. |
|||
►
Sign in to add a comment |
|||
Comment 1 by gman@chromium.org
, Mar 24 2016