Intermittent black video playback
Categories
(Core :: Graphics, defect, P3)
Tracking
()
People
(Reporter: h.winnemoeller, Assigned: sotaro)
References
(Blocks 1 open bug)
Details
Attachments
(3 files)
32.11 KB,
text/plain
|
Details | |
33.03 KB,
text/plain
|
Details | |
48 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-beta-
|
Details | Review |
STR
- Open any website with video playback, e.g. YouTube
- Play several videos
Expected result
Video playback is functional.
Actual result
At some point, the video stops presenting, the video is completely black while audio is still playing. Using another instance of Firefox exhibits correct video playback. Also, restarting the affected instance resolves the issue.
Still, decoding is happening, no errors are reported on about:support and the Windows Task-Manager reports activity on the "Video Decode" portion of the GPU tab. Switching to PIP mode briefly shows the expected current video frame. Also, taking a screenshot shows the expected current video frame. This happens regardless of the used codec, e.g. H264, VP9 or AV1.
Device details
Firefox: 102.0a1, 20220514213937
Windows Version: Windows 10 21H2
RAM: 64 GiB
GPU: NVIDIA RTX 3080
Comment 1•2 years ago
|
||
This sounds graphics related.
Henrik, could you please help us by 1) posting your about:support text, and if possible, 2) collect a Firefox performance profile using the 'Graphics' settings in the drop down of the toolbar button when you see this happening? Thanks.
Comment 2•2 years ago
|
||
Henrik, is this is a regression? Do you think you could try to get a regression window with mozregression?
Reporter | ||
Comment 3•2 years ago
•
|
||
Reporter | ||
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Comment 4•2 years ago
|
||
Thanks for posting back. Feel free to reopen if you run into the issue again.
Reporter | ||
Comment 5•2 years ago
•
|
||
I was able to reproduce the issue after a 30 min browsing session viewing many videos on 102.0a1 20220526093328, here is the perf profile using the graphics preset: https://share.firefox.dev/3wMd5DM (Playback of https://www.youtube.com/watch?v=Pj-h6MEgE7I with AV1 hardware decoding and 2x switch to PIP-mode)
Also, there are no errors reported on about:support.
Triggering a device reset resolves the issue.
I could try inspecting the browser with RenderDoc, but I will have to try to reproduce the issue which can take very long or does not happen at all on some sessions.
Assignee | ||
Updated•2 years ago
|
Comment 6•2 years ago
|
||
The severity field is not set for this bug.
:jimm, could you have a look please?
For more information, please visit auto_nag documentation.
Comment 7•2 years ago
|
||
This issue has been bothering me since around february this year, and I have some additional information:
With regular videos, it seems to happen most often when I switch to a tab with a video in it. With Twitch streams however, I have seen it happen randomly during playback.
When the issue starts, the video that is currently playing will usually strobe at first, like in https://bugzilla.mozilla.org/show_bug.cgi?id=1760762. It will keep strobing until I switch to a different tab and when I then switch back, the video (and any others, both already loaded and new videos) will be black with only audio playing. With Twitch streams they will strobe for a few seconds and then turn black by themselves.
It ONLY affects my primary display. If I position the window so the video shows on multiple monitors, only the video area that is on my primary display is black. My primary display is 120hz and gsync enabled (connected to an rtx2080ti). The issue has started both when gsync was on and when it was turned off. I have not yet tried reproducing the issue with my primary display at 60hz, but I have tried switching to 60hz after the issue started which did not help.
It is an annoyingly intermittent issue, but the most reliable way I have found to reproduce it is by having multiple videos and/or twitch streams running at the same time, and switching between those tabs a lot. Like others have mentioned, restarting firefox will (temporarily) resolve the issue.
Reporter | ||
Comment 8•2 years ago
|
||
I'm also on a 120 Hz monitor with G-Sync, maybe this is some requirement to trigger this issue? Just today I managed to reproduce the issue again on Nightly 20220716190510.
Comment 9•2 years ago
|
||
(In reply to Henrik Winnemöller from comment #8)
I'm also on a 120 Hz monitor with G-Sync, maybe this is some requirement to trigger this issue? Just today I managed to reproduce the issue again on Nightly 20220716190510.
Maybe, but I did just reproduce it again with gsync disabled, build 20220716092056
Comment 10•2 years ago
|
||
Another thing I just noticed as the issue happened again: once the issue is triggered, other browsers and even VLC will have the same issue until the firefox instance is restarted. As if something in firefox is blocking the output of the hardware decoder to the main display. Once Firefox is restarted (I haven't tried just closing it) the other applications will immediately start showing videos on the main screen again.
This detail is straying a bit far from firefox but oddly enough discord embedded videos work fine on the main display but turn black when fullscreened
Updated•2 years ago
|
Comment 11•2 years ago
|
||
The severity field is not set for this bug.
:bhood, could you have a look please?
For more information, please visit auto_nag documentation.
Updated•2 years ago
|
Comment 12•2 years ago
|
||
The severity field is not set for this bug.
:bhood, could you have a look please?
For more information, please visit auto_nag documentation.
Comment 13•2 years ago
|
||
Sotaro, could you please have a look at this when you get a chance? Adjust the severity as you see fit.
Assignee | ||
Comment 14•2 years ago
•
|
||
(In reply to johan.bontekoe from comment #7)
This issue has been bothering me since around february this year, and I have some additional information:
Hi johan.bontekoe, does the problem still happen on your PC? I wonder if the problem is related to YUV video overlay usage. It is enabled by Bug 1758601. And it is disabled by Bug 1780815. Video overlay is not enabled on release on NVIDIA gpu
Assignee | ||
Comment 15•2 years ago
|
||
Hi Henrik Winnemöller, does the problem still happen on nightly?
Comment 16•2 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #14)
(In reply to johan.bontekoe from comment #7)
This issue has been bothering me since around february this year, and I have some additional information:
Hi johan.bontekoe, does the problem still happen on your PC? I wonder if the problem is related to YUV video overlay usage. It is enabled by Bug 1758601. And it is disabled by Bug 1780815. Video overlay is not enabled on release on NVIDIA gpu
It looks like YUV overlay was disabled again 2 months ago in version 105 but the issue still happened to me yesterday in some iteration of v107. I have just updated to the latest nightly (2022-09-21) just to be sure and I will report back once it happens again.
For the past months this issue has basically been my cue to apply the newly downloaded updates since I have to restart the firefox instance anyway. So I'm rarely more than 1 or 2 builds behind the latest release.
Comment 17•2 years ago
|
||
(In reply to johan.bontekoe from comment #16)
(In reply to Sotaro Ikeda [:sotaro] from comment #14)
(In reply to johan.bontekoe from comment #7)
This issue has been bothering me since around february this year, and I have some additional information:
Hi johan.bontekoe, does the problem still happen on your PC? I wonder if the problem is related to YUV video overlay usage. It is enabled by Bug 1758601. And it is disabled by Bug 1780815. Video overlay is not enabled on release on NVIDIA gpu
It looks like YUV overlay was disabled again 2 months ago in version 105 but the issue still happened to me yesterday in some iteration of v107. I have just updated to the latest nightly (2022-09-21) just to be sure and I will report back once it happens again.
For the past months this issue has basically been my cue to apply the newly downloaded updates since I have to restart the firefox instance anyway. So I'm rarely more than 1 or 2 builds behind the latest release.
Well that was quick. Switching between several tabs that have livestreams running seems to be the most effective way to reproduce this.
In about:support I do see
OverlaySupport NV12=Scaling YUV2=Scaling BGRA8=Software RGB10A2=None
But in about:config I see
gfx.webrender.dcomp-video-yuv-overlay-win = false
Comment 18•2 years ago
|
||
Assignee | ||
Comment 19•2 years ago
|
||
johan.bontekoe and Per Thulin, can you check if the problem could be addressed by either the following pref change. The pref could be changed from about:config. Thank you.
- pref gfx.webrender.dcomp-video-overlay-win = false
- pref media.wmf.zero-copy-nv12-textures = false
Comment 20•2 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #19)
johan.bontekoe and Per Thulin, can you check if the problem could be addressed by either the following pref change. The pref could be changed from about:config. Thank you.
- pref gfx.webrender.dcomp-video-overlay-win = false
- pref media.wmf.zero-copy-nv12-textures = false
pref gfx.webrender.dcomp-video-overlay-win = false
does indeed make the issue go away.
pref media.wmf.zero-copy-nv12-textures = false
does not.
In the instance the issue starts, sometimes the video blinks, where every other frame is black.
Reproduction steps (on my system):
Open two tabs of a twitch live stream, such as https://www.twitch.tv/oldtimeycomputershow and play.
Switch between the two tabs 150 times (Ctrl+Tab). At 100 switches I typically get the issue, on a freshly started browser.
Reporter | ||
Comment 21•2 years ago
|
||
(In reply to Per Thulin from comment #20)
pref gfx.webrender.dcomp-video-overlay-win = false
does indeed make the issue go away.
pref media.wmf.zero-copy-nv12-textures = false
does not.In the instance the issue starts, sometimes the video blinks, where every other frame is black.
Reproduction steps (on my system):
Open two tabs of a twitch live stream, such as https://www.twitch.tv/oldtimeycomputershow and play.
Switch between the two tabs 150 times (Ctrl+Tab). At 100 switches I typically get the issue, on a freshly started browser.
I can see the same behaviour on my system using these reproduction steps and pref changes. I'm on Nightly Version 107.0a1, Build ID 20220926093803.
Comment 22•2 years ago
|
||
(In reply to Per Thulin from comment #20)
pref gfx.webrender.dcomp-video-overlay-win = false
does indeed make the issue go away.
pref media.wmf.zero-copy-nv12-textures = false
does not.In the instance the issue starts, sometimes the video blinks, where every other frame is black.
Reproduction steps (on my system):
Open two tabs of a twitch live stream, such as https://www.twitch.tv/oldtimeycomputershow and play.
Switch between the two tabs 150 times (Ctrl+Tab). At 100 switches I typically get the issue, on a freshly started browser.
What a genius way to reproduce this, just hold ctrl + tab until it happens. I can confirm these results as well, I have not been able to reproduce it after setting pref gfx.webrender.dcomp-video-overlay-win = false
, the other option had no impact.
Assignee | ||
Comment 23•2 years ago
|
||
Thank you for the detailed information! I could reproduce the problem with the STR of Comment 20. I am going to look into the problem.
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 24•2 years ago
|
||
Assignee | ||
Comment 25•2 years ago
|
||
Video overlay is enabled until early beta on NVIDIA GPU.
Comment 26•2 years ago
|
||
Comment 27•2 years ago
|
||
bugherder |
Comment 28•2 years ago
|
||
The patch landed in nightly and beta is affected.
:sotaro, is this bug important enough to require an uplift?
- If yes, please nominate the patch for beta approval.
- If no, please set
status-firefox106
towontfix
.
For more information, please visit auto_nag documentation.
Assignee | ||
Comment 29•2 years ago
|
||
Comment on attachment 9296417 [details]
Bug 1769431 - Ensure to release SwapChain surface handle
Beta/Release Uplift Approval Request
- User impact if declined: Video rendering could become black on Windows with NVIDIA gpu.
- Is this code covered by automated tests?: Yes
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: none
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): The fix just added releasing resource.
- String changes made/needed: none
- Is Android affected?: No
Comment 30•2 years ago
|
||
Sotaro, does this issue happen for late betas or only nightly and early betas?
Assignee | ||
Comment 31•2 years ago
•
|
||
It happens only on nightly and early betas.
Comment 32•2 years ago
|
||
Comment on attachment 9296417 [details]
Bug 1769431 - Ensure to release SwapChain surface handle
Given that it's a nightly & early beta build issue and that we just shipped our last early beta this cycle, we don't need to uplift this fix, thanks!
Updated•2 years ago
|
Description
•