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

Issue 818554 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Media Source Extensions doesn't resume correctly after visibility change on m66+

Reported by dustin.k...@gmail.com, Mar 5 2018

Issue description

Steps to reproduce the problem:
1. Go to https://jsfiddle.net/u3enjLzz from an Android device on Chrome m66+
2. Tap the screen in the bottom right window (where the video is) and note how frames index 
3. Minimize Chrome
4. Bring Chrome back to the front
5. Note that tapping the screen no longer indexes the frames.

What is the expected behavior?
MSE playback should resume after a tab/window visibilityChange.

What went wrong?
Not sure. This works correctly on Canary Desktop. So far I've only noticed this on Android Canary.

Did this work before? Yes m65 and previous version work correctly.

Does this work in other browsers? Yes

Chrome version: 66  Channel: dev
OS Version: 7/8
Flash Version:
 
Labels: Needs-triage-Mobile
Cc: pnangunoori@chromium.org
Labels: Triaged-Mobile Needs-Feedback
dustin.kerstein@ -- Thanks for reporting this issue. Could you please share the screen cast of the issue exactly for better understanding.

Upon navigating to the URL provided, it seems be an image and not it is a video file. Also, please share your device details to reproduce the issue.

Thanks!
This specific example uses frame by frame decoding. That's why it looks like an image rather than video. You'll need to either hit the [] keyboard keys to index the frames, or on Android (where the issue is) you can index by tapping the screen. Though if you connect to the dev tools from a computer to your Android phone, the [] keys should still work. Let me know if you have any trouble replicating.

However, if you'd like to see one that auto-plays, check out this link - https://jsfiddle.net/v28ga0n1/ - You should be able to replicate without hitting any buttons or tapping the screen. Just let it auto-play, and then minimize the app and bring it back to the foreground. Note how the "Appending Frame" shows up in the console log even after the video stops playing. 
Project Member

Comment 4 by sheriffbot@chromium.org, Mar 5 2018

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: nyerramilli@chromium.org sandeepkumars@chromium.org
Labels: hasbisect-per-revision FoundIn-66 Target-67 RegressedIn-66 FoundIn-67 Target-66
Owner: dalecur...@chromium.org
Status: Assigned (was: Unconfirmed)
Tested the issue in Android and able to reproduce the issue. 

Steps Followed:
1. Launch Chrome.
2. Navigate to the URL: https://jsfiddle.net/v28ga0n1/
3. Wait till the video gets load and notice video playing.
4. Minimize Chromeor switch to other application
5. Switch back to Chrome.
6. Observed that video stops playing.

Also observed from logs that "Appending Frame" is being added to logs.

Chrome versions tested:
64.0.3282.137 (Stable), 67.0.3364.3.0(Canary)

OS:
Android 8.1.0

Android Devices:
Pixel

Using the per-revision bisect providing the bisect results,
Good Build - 66.0.3344.0  (535592)
Bad Build - 66.0.3345.0  (536026)

You are looking for a change made after 535821(GOOD), but before 535822(BAD).

CHANGELOG URL:
The script might not always return single CL as suspect as some perf builds might get missing due to failure.
https://chromium.googlesource.com/chromium/src/+/c00d564817f2205be4d12e3ece58d0704d76e50d

From the CL above, assigning the issue to the owner concerned.

@dalecurtis:  Could you please look into the issue, pardon me if it has nothing to do with your changes and if possible please assign it to owner concerned.

Please navigate to below link for log's and video--
go/chrome-androidlogs/818554

Note: 
1. This issue is not observed in Desktop.


Additional Note:
2. In FireFox, there seems to be blinking of video.

Thanks!
Cc: dalecur...@chromium.org
Owner: mlamouri@chromium.org
Seems like autoplay related I think.
Tried on 66.0.3355.0 and it is working.

dalecurtis@, what makes you think it's autoplay related?
Cc: -dalecur...@chromium.org mlamouri@chromium.org
Owner: dalecur...@chromium.org
Hmm, I see now the bisect actually points at my change, so will take a closer look. I thought it was autoplay related since it appeared to be an inconsistent failure on Android dev+ only. 
On M66, Android and desktop have the same autoplay policies :)
Labels: -Pri-2 ReleaseBlock-Stable Pri-1
Have a fix, this should be RBS M66 since it should break a lot more than just the provided demo site:

https://chromium-review.googlesource.com/c/chromium/src/+/956326
Project Member

Comment 12 by bugdroid1@chromium.org, Mar 10 2018

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

commit 779ed842d04a04904bbe1dfcaed77945e3c39acf
Author: Dale Curtis <dalecurtis@chromium.org>
Date: Sat Mar 10 06:20:13 2018

Fix accidental breakage of seeks resuming from suspend.

http://crrev.com/535822, while not enabled, accidentally broke cases
where a seek should resume the pipeline by completing the seek before
the Resume() call. This was partially documented and partially tested
behavior, but unfortunately neither was sufficient to avoid this issue
being introduced.

I've updated the tests and documentation for this functionality and
reworked how suspended start works; though it is still unlaunched on
current ToT.

This CL also adds some debugging logs to WebMediaPlayerImpl which I
find myself manually readding everytime I need to debug one of these
issues.

BUG=813573,  818554 
TEST=manual, fixed existing unittest

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ifa9c78726abf3e243cfeac8b983d41605c1c7bf2
Reviewed-on: https://chromium-review.googlesource.com/956326
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Dan Sanders <sandersd@chromium.org>
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542346}
[modify] https://crrev.com/779ed842d04a04904bbe1dfcaed77945e3c39acf/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/779ed842d04a04904bbe1dfcaed77945e3c39acf/media/filters/pipeline_controller.cc
[modify] https://crrev.com/779ed842d04a04904bbe1dfcaed77945e3c39acf/media/filters/pipeline_controller.h
[modify] https://crrev.com/779ed842d04a04904bbe1dfcaed77945e3c39acf/media/filters/pipeline_controller_unittest.cc

Project Member

Comment 13 by sheriffbot@chromium.org, Mar 12 2018

This issue is marked as a release blocker with no milestone associated. Please add an appropriate milestone.

All release blocking issues should have milestones associated to it, so that the issue can tracked and the fixes can be pushed promptly.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: M-66
Dustin, can you confirm canary has fixed the issue for you?
I am able to still replicate this issue in 67.0.3368.0 (the latest Canary available). Does that version have your commit? 

The behavior may be a little different on https://jsfiddle.net/v28ga0n1/ - I don't recall the frame being black after bringing the tab/window back in focus (which it now is). I believe it used to just be frozen on the last played frame.
No, my change won't be in until 67.0.3369.0.
Not sure why canary releases are delayed, but hopefully that'll be the released version tomorrow.
K. I will give it a test tomorrow. 
Fixed in today's Canary! Thanks Dale. 
Labels: Merge-Request-66
Great! Thanks for verification.

Comment 22 by cmasso@google.com, Mar 14 2018

Labels: -Merge-Request-66 Merge-Approved-66
Project Member

Comment 23 by bugdroid1@chromium.org, Mar 15 2018

Labels: -merge-approved-66 merge-merged-3359
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a84a530d1523b23d63479db3005d707324008b4e

commit a84a530d1523b23d63479db3005d707324008b4e
Author: Dale Curtis <dalecurtis@chromium.org>
Date: Thu Mar 15 01:18:04 2018

Merge M66: "Fix accidental breakage of seeks resuming from suspend."

http://crrev.com/535822, while not enabled, accidentally broke cases
where a seek should resume the pipeline by completing the seek before
the Resume() call. This was partially documented and partially tested
behavior, but unfortunately neither was sufficient to avoid this issue
being introduced.

I've updated the tests and documentation for this functionality and
reworked how suspended start works; though it is still unlaunched on
current ToT.

This CL also adds some debugging logs to WebMediaPlayerImpl which I
find myself manually readding everytime I need to debug one of these
issues.

BUG=813573,  818554 
TEST=manual, fixed existing unittest
TBR=dalecurtis@chromium.org

(cherry picked from commit 779ed842d04a04904bbe1dfcaed77945e3c39acf)

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ifa9c78726abf3e243cfeac8b983d41605c1c7bf2
Reviewed-on: https://chromium-review.googlesource.com/956326
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Dan Sanders <sandersd@chromium.org>
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#542346}
Reviewed-on: https://chromium-review.googlesource.com/963613
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/branch-heads/3359@{#260}
Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276}
[modify] https://crrev.com/a84a530d1523b23d63479db3005d707324008b4e/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/a84a530d1523b23d63479db3005d707324008b4e/media/filters/pipeline_controller.cc
[modify] https://crrev.com/a84a530d1523b23d63479db3005d707324008b4e/media/filters/pipeline_controller.h
[modify] https://crrev.com/a84a530d1523b23d63479db3005d707324008b4e/media/filters/pipeline_controller_unittest.cc

Status: Fixed (was: Assigned)
Verified on Chrome:67.0.3371.0 Device Pixel XL/8.1.0
Status: Verified (was: Fixed)
Verified on Chrome:66.0.3359.46 Device Pixel XL/8.1.0

Sign in to add a comment