Issue metadata
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 descriptionSteps 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:
,
Mar 5 2018
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!
,
Mar 5 2018
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.
,
Mar 5 2018
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
,
Mar 8 2018
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.
,
Mar 8 2018
Additional Note: 2. In FireFox, there seems to be blinking of video. Thanks!
,
Mar 8 2018
Seems like autoplay related I think.
,
Mar 8 2018
Tried on 66.0.3355.0 and it is working. dalecurtis@, what makes you think it's autoplay related?
,
Mar 8 2018
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.
,
Mar 9 2018
On M66, Android and desktop have the same autoplay policies :)
,
Mar 9 2018
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
,
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
,
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
,
Mar 12 2018
,
Mar 13 2018
Dustin, can you confirm canary has fixed the issue for you?
,
Mar 13 2018
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.
,
Mar 13 2018
No, my change won't be in until 67.0.3369.0.
,
Mar 13 2018
Not sure why canary releases are delayed, but hopefully that'll be the released version tomorrow.
,
Mar 13 2018
K. I will give it a test tomorrow.
,
Mar 14 2018
Fixed in today's Canary! Thanks Dale.
,
Mar 14 2018
Great! Thanks for verification.
,
Mar 14 2018
,
Mar 15 2018
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
,
Mar 15 2018
,
Mar 15 2018
Verified on Chrome:67.0.3371.0 Device Pixel XL/8.1.0
,
Mar 21 2018
Verified on Chrome:66.0.3359.46 Device Pixel XL/8.1.0 |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by pnangunoori@chromium.org
, Mar 5 2018