Repeated rapid seek requests don't update the current time indicators
Reported by
agd...@amazon.com,
Jul 25 2017
|
|||||||||
Issue descriptionExample 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.
,
Jul 25 2017
Proposed fix: https://chromium-review.googlesource.com/c/585244/ Attaching video of behavior with fix.
,
Aug 1 2017
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.
,
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.).
,
Aug 1 2017
+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.
,
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
,
Aug 3 2017
give to ericde@ our PM to decide if this is a valid feature request or should behave as is.
,
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.
,
Aug 21 2017
over to hbengali@ to triage.
,
Aug 21 2017
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.
,
Oct 6 2017
dahlke@, assigning to you since it's pending your input.
,
Oct 6 2017
+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.
,
May 2 2018
,
Oct 10
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!
,
Oct 10
,
Oct 10
,
Oct 11
Updated proposed fix: https://chromium-review.googlesource.com/c/chromium/src/+/1274945 |
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by agd...@amazon.com
, Jul 25 20172.1 MB
2.1 MB View Download