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

Issue 748749 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug


Participants' hotlists:
Modern-Media-Controls


Sign in to add a comment

Repeated rapid seek requests don't update the current time indicators

Reported by agd...@amazon.com, Jul 25 2017

Issue description

Example URL:
https://s3-us-west-2.amazonaws.com/agdoug-public/test_pages/video_seek.html

Steps to reproduce the problem:
1. In Chromium or Chrome, visit https://s3-us-west-2.amazonaws.com/agdoug-public/test_pages/video_seek.html
(this is just a basic test page that has FF/RW buttons that seek each video)
2. Play the video
3. Pause the video (to ensure the controls stay visible - still happens when not paused but it's more difficult to see)
4. Tap the FF button on the page 20 or so times

What is the expected behavior?
The current time text and scrubber thumb jump forward every time the FF button is tapped

What went wrong?
The current time text and scrubber thumb don't change until after the seek is fully complete, eventually jumping forward to the current time.

Did this work before? No 

Is it a problem with Flash or HTML5? HTML5

Does this work in other browsers? N/A

Chrome version: 59.0.3071.125  Channel: stable
OS Version: 7.1.2
Flash Version: N/A

Contents of chrome://gpu: 

In Chrome, when a webpage has buttons that seek a media element or MediaSession handlers for the "seekForward"/"seekBackward" actions, repeated tapping of the seek buttons (either on the page, in the media notification (on Android), or on a media keyboard) doesn't update the current time indicators (scrubber thumb, current time text) until the seek is complete.
This makes it difficult for the user to know where they will end up at the end of the seek requests if they tap it a few times.

Reproduced on Android and Linux, but have not tried Windows.
 

Comment 1 by agd...@amazon.com, Jul 25 2017

seek_before.mp4
2.1 MB View Download

Comment 2 Deleted

Comment 3 by agd...@amazon.com, Jul 25 2017

Proposed fix:
https://chromium-review.googlesource.com/c/585244/

Attaching video of behavior with fix.
seek_after.mp4
1.7 MB View Download

Comment 4 Deleted

Comment 5 Deleted

Comment 6 Deleted

agdoug@amazon.com, I am using chrome 61.0.3162.3 on Android. I don't repro this bug.
Every time FF button is tapped, timestamp move forward for 0:05. 
I also tried stable chrome build 59.0.3071.125, get the same behavior.
The scrubber thumb and timestamp update is slow, it takes a moment after tap FF button though. But it does change. If you tap FF button too fast, it may seems not update simultaneously with tap action.
Please report what you see when tap FF button slowly.

Comment 8 by agd...@amazon.com, Aug 1 2017

Hi there,

This bug is precisely about tapping it quickly and it not getting updated simultaneously, hence "repeated rapid seek requests".
Eventually it catches up but until then it is difficult to tell where you have seeked to if you attempt to seek a few times rapidly (e.g. in a scenario where you know you want to seek to near the end of the video you wouldn't want to have to tap, wait for update, check time, tap again, wait again, etc.).
Components: -Internals>Media Internals>Media>UI
+media ui folks to weigh in. We don't commit the seek until we actually finish it, so this is WAI, whether or not it should be that way is another question.

Comment 10 by agd...@amazon.com, Aug 2 2017

Hi Dale,

Thanks for pulling in the media UI folks. 

The original behavior did appear to be working as intended but seemed like it could be improved. The proposed fix changes the behavior to be more in line with how I would expect things to look while seeking but it's always possible there's some reason why this wouldn't be desirable. 

Additionally, the proposed fix also forces the media controls to show while seeking which is related to the overall seeking experience but not necessarily tied to updating the time indicators immediately. Just wanted to bring that up while we're discussing this media UI change. I think it makes sense but again, maybe Chromium disagrees.

Thanks for taking a look.
Alec
Cc: dalecur...@chromium.org
Owner: ericde@chromium.org
Status: Assigned (was: Unconfirmed)
give to ericde@ our PM to decide if this is a valid feature request or should behave as is. 

Comment 12 by agd...@amazon.com, Aug 3 2017

I'm sure you all fully understand the issue, but I just wanted to highlight the use case where I first encountered this: users with media keyboards that have a FF/RW key on them (e.g. Android + bluetooth media keyboard).

If the website has media session handlers for seek forward/backward and the user holds down the FF or RW key then seek requests are made rapidly but the user will not be able to tell where they have seeked to (and thus won't know when to release the FF/RW key).

In the attached videos, I used buttons on a test page so you can easily see when they are pressed but the media keyboard usecase is more realistic for creating rapid seek requests.

Comment 13 by ericde@google.com, Aug 21 2017

Cc: ericde@chromium.org
Owner: hbengali@chromium.org
over to hbengali@ to triage.
Cc: dah...@chromium.org mlamouri@chromium.org
Maybe the right solution here is to update the UI immediately, but have some sort of delay before the player attempts to start playback, thus preventing new segment/range requests from firing multiple times as a user attempts to rapidly seek?

+dahlke@, +mlamouri@ for their input.
Owner: dah...@chromium.org
dahlke@, assigning to you since it's pending your input.
Cc: amyroberts@chromium.org rachelis@chromium.org beccahughes@chromium.org
Owner: beccahughes@chromium.org
+rachelis and amyroberts from UX

agdoug@, thanks for providing all the details. The use case and issue is clear. 

All, the playback time is getting more prominence in the updated media controls as a way to help users seek when we cannot provide thumbnails or real-time updating of the video frames. Having that time be very responsive to the user input is key to the success of that approach. I would like to see us fix this if possible. Throttling the actual video update, so we aren't continuously making unnecessary requests seems like a wise idea, but I would like the eng team to chime in. 

Assigning this to beccahughes@ since they are working on the updated media controls.
Owner: ----
Now that modern media controls is resolved (https://bugs.chromium.org/p/chromium/issues/detail?id=761305), could we revisit this issue?

For our fork of Chromium, we've been maintaining a patch for this but it would be nice if it could land in Chromium so I wouldn't have to worry about hitting merge conflicts while pulling in upstream commits.

Over time I've updated it to work with the modern controls refactor, but I ran into a small snag with a couple tests (HTMLMediaElementWithMockSchedulerTest::OneTimeupdatePerSeek and PeriodicTimeupdateAfterSeek) where the change causes timeupdate to get called twice instead of once because the media controls now begin scrubbing when the 'seeking' event is fired, which pauses the video and causes a timeupdate event to be fired.

I'll attach updated before + after videos. The media in these videos is controlled via a bluetooth controller via media session action handlers for 'seekforward' and 'seekbackward'. The FF/RW buttons light up orange every time one of these media session events is handled.

I'll also post a new CL with the latest patch in a moment - let me know what you think. Thanks!
modern_seek_before.mp4
6.4 MB View Download
modern_seek_after.mp4
8.3 MB View Download
Owner: steimel@chromium.org

Sign in to add a comment