New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 648395 link

Starred by 4 users

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

HTML5 mp4 video hangs on play with preload="metadata"

Reported by anand.te...@gmail.com, Sep 19 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36

Example URL:
https://jsfiddle.net/t9w04Lmn/

Steps to reproduce the problem:
1. Open chrome 
2. Clear the cache 
3. Open the url https://jsfiddle.net/t9w04Lmn/
4. Click on the video to start playing once it has loaded

What is the expected behavior?
Video should play.

What went wrong?
Video only plays the first frame and hangs after that

Did this work before? N/A 

Is it a problem with Flash or HTML5? HTML5

Does this work in other browsers? Yes 

Chrome version: 53.0.2785.116  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 23.0 r0

This is not a consistent repro and happens more often on clearing/diabling cache.

Looking at network trace, chrome makes a range request to get the initial metadata and gets few hundred kb of data and terminates the connection. On video play it opens another connection with different value for range header but only gets few kb data (sometime this connection is never started). After this the video is stuck at 0:00 and buffering value never increases (remains close to 0.6 seconds) 

On few retries, we noticed that the first connection does not always download the same amount of data and this issue happens more often when less data is downloaded on first request.

This issue does not repro with preload set to "auto" or "none".

This is happening on previous versions of chrome as well.
 
ChromeVideoHang.JPG
118 KB View Download
Cc: hubbe@chromium.org sande...@chromium.org
+sandersd, hubbe

Comment 3 by hubbe@chromium.org, Sep 20 2016

Cc: -hubbe@chromium.org
Owner: hubbe@chromium.org
Status: Started (was: Unconfirmed)
Project Member

Comment 4 by bugdroid1@chromium.org, Sep 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3b2a5629da155db59d3449a6d640c107e91aa14d

commit 3b2a5629da155db59d3449a6d640c107e91aa14d
Author: hubbe <hubbe@chromium.org>
Date: Wed Sep 21 07:17:46 2016

Fix a timing bug in multibuffer.

When "cancel on defer is on", the multibuffer reader can sometimes get
delete before it is allowed to deliver a pending read callback. This basically
hangs the multibuffer data source as it waits for the read callback forever.

BUG= 648395 ,  647867 ,  646434 

Review-Url: https://codereview.chromium.org/2357773003
Cr-Commit-Position: refs/heads/master@{#419995}

[modify] https://crrev.com/3b2a5629da155db59d3449a6d640c107e91aa14d/media/blink/multibuffer_data_source.cc
[modify] https://crrev.com/3b2a5629da155db59d3449a6d640c107e91aa14d/media/blink/multibuffer_data_source.h
[modify] https://crrev.com/3b2a5629da155db59d3449a6d640c107e91aa14d/media/blink/multibuffer_data_source_unittest.cc

Comment 5 by hubbe@chromium.org, Sep 21 2016

Status: Verified (was: Started)
Fixed, and verified in a ToT build.
Once it's been verified in a canary build, we can backport the fix.

Comment 6 by hubbe@chromium.org, Sep 22 2016

The fix is in todays canary build.
Anand, can you verify that this works for you on chrome canary?

Hi Hubbe, thanks for the quick turn around on this bug. We tried today's canary build and videos are playing fine. Did not see the issue happening. 

Comment 8 by hubbe@chromium.org, Sep 22 2016

Labels: Merge-Request-54

Comment 9 by dimu@chromium.org, Sep 22 2016

Labels: -Merge-Request-54 Merge-Approved-54 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M54 (branch: 2840)
Project Member

Comment 10 by bugdroid1@chromium.org, Sep 22 2016

Labels: -merge-approved-54 merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b39d634c0efdd5912bfca4336ba9dc908e67fe10

commit b39d634c0efdd5912bfca4336ba9dc908e67fe10
Author: Fredrik Hubinette <hubbe@google.com>
Date: Thu Sep 22 22:36:17 2016

Fix a timing bug in multibuffer.

When "cancel on defer is on", the multibuffer reader can sometimes get
delete before it is allowed to deliver a pending read callback. This basically
hangs the multibuffer data source as it waits for the read callback forever.

BUG= 648395 ,  647867 ,  646434 

Review-Url: https://codereview.chromium.org/2357773003
Cr-Commit-Position: refs/heads/master@{#419995}
(cherry picked from commit 3b2a5629da155db59d3449a6d640c107e91aa14d)

Review URL: https://codereview.chromium.org/2362953002 .

Cr-Commit-Position: refs/branch-heads/2840@{#500}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/b39d634c0efdd5912bfca4336ba9dc908e67fe10/media/blink/multibuffer_data_source.cc
[modify] https://crrev.com/b39d634c0efdd5912bfca4336ba9dc908e67fe10/media/blink/multibuffer_data_source.h
[modify] https://crrev.com/b39d634c0efdd5912bfca4336ba9dc908e67fe10/media/blink/multibuffer_data_source_unittest.cc

Labels: TE-Verified-54.0.2840.41 TE-Verified-M54
Verified the issue on windows 10 using chrome beta version #54.0.2840.41 as per comment #0
Observed that the fix is working as expected.

Attaching screencast for reference

Hence, adding the verified labels
648395.mp4
7.5 MB View Download
Project Member

Comment 12 by bugdroid1@chromium.org, Oct 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b39d634c0efdd5912bfca4336ba9dc908e67fe10

commit b39d634c0efdd5912bfca4336ba9dc908e67fe10
Author: Fredrik Hubinette <hubbe@google.com>
Date: Thu Sep 22 22:36:17 2016

Fix a timing bug in multibuffer.

When "cancel on defer is on", the multibuffer reader can sometimes get
delete before it is allowed to deliver a pending read callback. This basically
hangs the multibuffer data source as it waits for the read callback forever.

BUG= 648395 ,  647867 ,  646434 

Review-Url: https://codereview.chromium.org/2357773003
Cr-Commit-Position: refs/heads/master@{#419995}
(cherry picked from commit 3b2a5629da155db59d3449a6d640c107e91aa14d)

Review URL: https://codereview.chromium.org/2362953002 .

Cr-Commit-Position: refs/branch-heads/2840@{#500}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/b39d634c0efdd5912bfca4336ba9dc908e67fe10/media/blink/multibuffer_data_source.cc
[modify] https://crrev.com/b39d634c0efdd5912bfca4336ba9dc908e67fe10/media/blink/multibuffer_data_source.h
[modify] https://crrev.com/b39d634c0efdd5912bfca4336ba9dc908e67fe10/media/blink/multibuffer_data_source_unittest.cc

 Issue 648390  has been merged into this issue.

Sign in to add a comment