Flickering when unpausing a video on Android
Categories
(Core :: Graphics, defect)
Tracking
()
People
(Reporter: denschub, Unassigned)
References
Details
Attachments
(1 file, 1 obsolete file)
19.34 KB,
text/plain
|
Details |
We have received a report about the page flickering when unpausing a video on Firefox for Android. Oana, who is CC'ed, can reproduce.
This could be a graphics issue, but I'm not sure. Is there some way to get more information here? Given Oana can reproduce and we've seen this a couple of times before, this might be a good chance to dig deeper into it.
Comment 1•4 years ago
|
||
Jamie, perhaps you know what to do with it.
Comment 2•4 years ago
|
||
Oana, could you please attach your about:supports from the devices you mention in https://github.com/webcompat/web-bugs/issues/60882#issuecomment-721614628? I want to see whether there is a pattern to which devices it reproduces on.
Comment 3•4 years ago
|
||
Jamie I've attached the about:support data from the device.
Comment 4•4 years ago
|
||
Thanks Oana. What GPUs do your Samsung Galaxy S8 and Samsung Galaxy S6 Edge have? (It should say in about:support, either "mali XXX" or "adreno XXX"). Are they using webrender?
If you disable webrender on your Hauawei (set gfx.webrender.force-disabled=true) and restart can you still reproduce?
Comment 5•4 years ago
|
||
I've checked about:support page and have:
- Samsung Galaxy S8 - ARM -- Mali-G71
- Samsung Galaxy S6 - ARM -- Mali-T760
Both use webrender.
I've set gfx.webrender.force-disabled=true in about:config on Hauwei and the issue still occurs.
Comment 6•4 years ago
|
||
So it doesn't appear to matter whether webrender is enabled or not. The reporter had a Nokia 6, which is an Adreno, so it also doesn't appear to be GPU specific. Sotaro, do you have any ideas on how to investigate this?
Comment 7•4 years ago
•
|
||
(In reply to Jamie Nicol [:jnicol] from comment #6)
So it doesn't appear to matter whether webrender is enabled or not. The reporter had a Nokia 6, which is an Adreno, so it also doesn't appear to be GPU specific. Sotaro, do you have any ideas on how to investigate this?
I could not reproduce the problem on my Galaxy A30(Android 10, Mali-G71). One possibility is that we might need to return andorid::GrpahicBuffer to android MediaCodec soon. To do it, we need to call SurfaceTexture::updateTexImage() as soon as possible. It could provide more buffers to hardware codec.
On android, only one video frame is sent to compositor.
Comment 8•4 years ago
|
||
Interesting. Sotaro, could you try writing a patch and perhaps Oana can test it and see if it helps?
Comment 9•4 years ago
|
||
Comment 10•4 years ago
•
|
||
(In reply to Jamie Nicol [:jnicol] from comment #8)
Interesting. Sotaro, could you try writing a patch and perhaps Oana can test it and see if it helps?
I created a patch to call SurfaceTexture::UpdateTexImage() soon.
https://treeherder.mozilla.org/jobs?repo=try&revision=912f8f4208c07e91e6de21d5f9a1b54a2857516e
https://treeherder.mozilla.org/jobs?repo=try&revision=634fa12a5e85c82de002ae66df73b4aacc938648
Comment 11•4 years ago
|
||
I could not reproduce the flickering, but I saw Bug 1679932 on Galaxy A30 during resuming Youtube video playback.
Updated•4 years ago
|
Comment 12•4 years ago
•
|
||
An original problem of video stutters when unpausing a video seems to be addressed by Bug 1679932. Though the hard flickering could be another problem. The hard flickering seems to be caused driver bug, since video frame handling should not affect to anther ui rendering.
Comment 13•4 years ago
|
||
Oana, can you check if the problem is addressed with nightly? I wonder if Bug 1679932 could address this bug.
Updated•4 years ago
|
Comment 14•4 years ago
|
||
Dennis could you provide me with a build that contains the patch, so I could verify it?
Thanks.
Comment 15•4 years ago
|
||
I've tested the issue, and it seems to be fixed on the latest Firefox Nightly build (and also on the apk containing the patch).
Tested with:
Browser / Version: Firefox Nightly 201214 (🦎 85.0a1-20201210092800)
Operating System: Huawei P20 Lite (Android 8.0.0) - 1080 x 2280 pixels, 19:9 ratio (~432 ppi density)
Description
•