New issue
Advanced search Search tips

Issue 597486 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Apr 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Compat



Sign in to add a comment

Video playback can get stuck in race

Project Member Reported by gman@chromium.org, Mar 24 2016

Issue description

Version: 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
 

Comment 1 by gman@chromium.org, Mar 24 2016

Cc: sande...@chromium.org
Labels: -Type-Bug-Regression Needs-Feedback Type-Compat
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.

Comment 3 by gman@chromium.org, 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)
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.

Comment 5 by gman@chromium.org, Mar 28 2016

Setting src = '' doesn't work. It generates an error trying to load the root of the website as a video

Comment 6 by gman@chromium.org, 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.

Status: WontFix (was: Available)
Unable to reproduce, likely working as intended.

Sign in to add a comment