canplay never gets called on some video elements when calling .load() simultaneously on tens of blob src videos
Reported by
uros.jok...@gmail.com,
Jan 23 2018
|
|||||||
Issue descriptionExample URL: Steps to reproduce the problem: 1. Download multiple mp4 videos as blobs 2. Set the blobs as sources for the video elements 3. Set the onload 4. Call .load() on the video elements What is the expected behavior? canplay will eventually be called What went wrong? canplay never gets called Did this work before? N/A Is it a problem with Flash or HTML5? HTML5 Does this work in other browsers? Yes Chrome version: 63.0.3239.132 Channel: stable OS Version: 5.1.1+ Flash Version: Contents of chrome://gpu: Upon inspecting the readyState of all videos, the properly loaded one's have their value at 4, while the ones that never get loaded have their values at 1. Manually calling .load() on the non-loaded one's from the console reload's them properly, unless it's again called on a bigger group of videos simultaneously. In my use case, I have 16 videos. It seems pretty random which of them will hang and which will get loaded properly. Around 70% get loaded. Also, everything seems to work properly on Chrome for OSX, Windows and iOS, as I have only been able to reproduce the issue on Android.
,
Jan 24 2018
@uros.joksimovic92: Thanks for the report!! Could you please help us with a sample file where your'e seeing this issue and if possible attach a screencast as well for triaging of the issue. Thanks!!
,
Jan 24 2018
,
Jan 24 2018
@sandeepkumars: Sorry, don't have the time now for the sample file. However, I do have a bit more insight that I've gathered in the meantime: I've refactored my code to download all videos in parallel (which works fine) and then set the source and call .load on my videos sequentially, and the same thing happens again. Somewhere around 7th or 8th video usually, the loading just stops. However, if I manually call .load() on the video that hanged, the loading continues until it hangs again a few videos down the road. Now this is where things get interesting: I've also added an interval function that just calls .load again on the video that's currently being loaded every 200ms, just to give it a nudge in case the load hangs, and with this I've been able to load all the videos properly (their readyState being 4, and oncanplay/oncanplaythrough being called). But once I call play on all of them, only some get played, other's don't do anything, while still having readyState at 4. Calling play on the ones that didn't start playing again results in the invalid source exception. All videos are fine and playable (tested individually, so it's not a video error), and the issues don't occur when less than 5 videos are being used. Also the behavior is very flaky, in the sense that it's hard to predict which video's won't start playing. That's about all the input I have at the moment.
,
Jan 24 2018
Thank you for providing more feedback. Adding requester "sandeepkumars@chromium.org" to the cc list and removing "Needs-Feedback" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jan 24 2018
,
Jan 25 2018
Подтверждаю нашу карту и почта
,
Jan 31 2018
please provide a repro test page otherwise it's hard to investigate.
,
Mar 6 2018
no response from reporter@, resolve s won't fix. |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by pnangunoori@chromium.org
, Jan 24 2018