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

Issue 701421 link

Starred by 3 users

Issue metadata

Status: WontFix
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug-Regression



Sign in to add a comment

video seek via user action not working after delay

Reported by er...@mediamods.com, Mar 14 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36

Steps to reproduce the problem:
you can experience this issue here:
http://codepen.io/jedierikb/pen/wJqqyv

Here are the steps to create a situation where a video will not seek to a new time:
Load video
Seek to 25 seconds by setting .currentTime=25
Play for 4 seconds then pause
Wait for 30 seconds with a setTimeout
Seek to 41 seconds
SUCCESS: set .currentTime=41 in the setTimeout callback
FAILURE: press a div whose 'click' callback sets .currentTime=41

There are two ways to avoid a fail state when clicking the button to seek:
Do not wait 30 seconds, but wait only a few (1-2) seconds before setting .currentTime=41
Remove the [redundant] call to .pause() before setting .currentTime=41

What is the expected behavior?
User interaction (e.g. 'click') will always seek the video successfully

What went wrong?
Waiting 30 seconds before seeking a paused video fails to seek the video.

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 56.0.2924.87  Channel: n/a
OS Version: OS X 10.12.3
Flash Version:
 
Labels: Needs-Triage-M57
Components: Blink>Media
Labels: -Needs-Triage-M57 Needs-Milestone

Comment 4 by ajha@chromium.org, Mar 29 2017

Cc: ajha@chromium.org
Labels: -Type-Bug -Pri-2 -Needs-Milestone M-59 hasbisect OS-Linux OS-Windows Pri-1 Type-Bug-Regression
Owner: mlamouri@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue on the latest canary(59.0.3054.0) and the latest stable(57.0.2987.110) on Windows-10, Mac OS 10.12.3 and Linux Ubuntu 14.04.

Regressed in M-56.

Last good build: 56.0.2920.0
First bad build: 56.0.2922.0 (no 56.0.2921.0 available)

Changelog:
==========
https://chromium.googlesource.com/chromium/src/+log/56.0.2920.0..56.0.2922.0?pretty=fuller&n=10000

Bisect script isn't invoking any good builds even on adjusting the range hence unable to provide the bisect per revision.

Not sure but manually inspecting seeing few media related changes by mlamouri@ in the above regression range.

mlamouri@: Could this be related to https://codereview.chromium.org/2501523003. If not, appreciate your help in investigating this further.

Thank you!

Cc: mlamouri@chromium.org
Labels: -OS-Linux -OS-Windows -OS-Mac OS-All
Owner: joh...@chromium.org
johnme@, can you take a look?

Comment 6 by joh...@chromium.org, Apr 10 2017

Thanks for reporting this, I can confirm in 56.0.2924.87 Ubuntu that there's definitely a bug that causes us to fail to update the visible frame of a video sometimes (even though $v.currentTime reports the correct value).

I made a slightly reduced testcase at: https://jsbin.com/yemusaq (well, not so much reduced, as linearized, to make it a little clearer what order things happen in).

As you pointed out, it's quite a subtle bug, as any of the following minor changes to the testcase cause it to stop failing:
- waiting less than ~25 seconds [remainPausedTime]
- seeking programmatically rather than from a click handler [autoSeek=true]
- not calling $v.pause() before seeking [pauseBeforeSeekAhead=false]
- making the initial calls to $v.play() and $v.pause() from a click handler instead of from the `canplay` handler

(I recommend testing in a clean incognito session, in case caching affects this).
Cc: joh...@chromium.org
Owner: hubbe@chromium.org
+hubbe@, can you look at this? I suspect it might be a network issue because it's related to seeking and the cache seems to have an impact.

It's unclear if johnme@'s reduced test case is working as expected as it's working 100% on stable/beta/dev/trunk for me. I did not try the initial test case.

Feel free to bounce this back to johnme@ or I but I want to make sure that it's not an obvious networking issue before we spend more time investigating :)

Comment 8 by er...@mediamods.com, Apr 10 2017

I am also not able to reproduce the issue with johnme@'s test case.

Comment 9 by hubbe@chromium.org, Apr 10 2017

Cc: sande...@chromium.org
Owner: jbau...@chromium.org
I'm on vacation this week. I scanned through the changelog though, which seems to be oddly low on buffering changes and/or changes by me.  I suspect that this is somehow related to the idle suspension, which jbauman enabled in this range, so I'm assigning this to jbauman and also adding sandersd to see if they can take a look this week. (If not, feel free to assign back to me.)

Cc: avayvod@chromium.org
Labels: Needs-Feedback
I am able to reproduce using the original codepen on M56 but not on ToT. I cannot reproduce using the jsfiddle (#6) on either version.

Erik: Are you able to reproduce this issue with a Canary version of Chrome?

Just now tested my original codepen on Version 57.0.2987.133 (64-bit) on osX 10.12.4
and reproduced the bug.
Can you please test in a Canary version, which should be M59? Thanks.
Sorry.  Just tested on Version 59.0.3067.0 canary (64-bit) and the bug appears to be gone!
Is the bug reproducible on Chrome Beta (58.*)? If it's only a bug on stable, we should probably ignore it but if it happens on Beta, we might want to consider sending a fix before the branch.
Labels: -Needs-Feedback
I am able to reproduce on M58.
Cc: jbau...@chromium.org
Owner: sande...@chromium.org
Initial reports are on Mac and Linux, so not related to my enabling of idle suspension on windows.
Status: WontFix (was: Assigned)
This seems to be fixed. Please re-open or leave I comment if I misunderstood.
Yes, appears to be fixed, thank you.

Sign in to add a comment