Closed Bug 1312043 Opened 9 years ago Closed 9 years ago

Paint issues with Comedy Central video player (asyncdrawing)

Categories

(Core Graveyard :: Plug-ins, defect)

49 Branch
x86_64
Windows 10
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dnpyles, Unassigned)

References

()

Details

(Keywords: regression, Whiteboard: gfx, STR in comment #0)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0 Build ID: 20161019084923 Steps to reproduce: Attempted to view the video at http://www.cc.com/full-episodes/c19r7u/the-daily-show-with-trevor-noah-october-20--2016---mike-colter-season-22-ep-22012 Actual results: The video player loads but the video image area is just white. Expected results: The video should have loaded and played instead of showing a white video screen. Changing the setting to false renders the video properly. I'm using Firefox 49.0.2 64bit on Windows 10 ver 1607.
Blocks: 1229961
Component: Untriaged → Plug-ins
Keywords: regression
OS: Unspecified → Windows 10
Product: Firefox → Core
Hardware: Unspecified → x86_64
Video image area is just white in 50.0b9 and Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0 ID:20161022030204 CSet: 5639a9f476d08f300c079117e61697f5026b6367 also. Toggling the setting to false fixes it.
this gets reported in a number of support channels and is reproducible.
Status: UNCONFIRMED → NEW
Ever confirmed: true
I can confirm that the video's content is white on Comedy Central with Firefox 49.0.2, Build ID: 20161019084923 (32-bit/64-bit builds) on the following OSes: - Windows 10x64 - Intel(R) HD Graphics - Windows 10x64 - AMD Radeon HD 5450 - Windows 7x64 - NVIDIA GeForce 210 The issue is not reproducible on Mac OS X 10.12 (Intel Iris Pro 1536 MB). The issue is not reproducible on Firefox 48.0.2.
Summary: Firefox 49.0.2 dom.ipc.plugins.asyncdrawing.enabled;true breaks Comedy Central video layer → Issues with Comedy Central video layer
Whiteboard: gfx
Request for test with e10s disabled - yes reproducible - I still only see the white screen, video does not play Windows 10 Home Intel Core i3-4005 CPU @ 1.70GHz 8GB 64 Bit OS / 32bit Firefox Intel HD Graphics Adobe Flash 23.0.0.185 Multi process disabled
Summary: Issues with Comedy Central video layer → Paint issues with Comedy Central video player (asyncdrawing)
Hey Matt, this is a pretty good test case for the painting problems we're seeing since there's only one flash applet running (the main video), the page content is tame, and the bug reproduces reliably for me on Windows 7. One thing I'm noticing here, when Flash sets the drawing mode, it always chooses NPDrawingModelAsyncBitmapSurface vs. NPDrawingModelAsyncWindowsDXGISurface, on a system that is fully accelerated. Any ideas why that might be?
Flags: needinfo?(mtalistu)
Looks like we are getting fresh bits from Flash - I checked the data coming over in the child instance [1], as well as the dirty rect we receive, the data looked correct, and the bitmap content was changing over time. The image data is getting shipped over to RecvShowDirectBitmap [2], and it appears SetCurrentImage [3] is called with valid image data and a rect. [1] http://searchfox.org/mozilla-central/rev/4012e61cc38758ffa1f7ce26039173f67b048853/dom/plugins/ipc/PluginInstanceChild.cpp#3252 [2] http://searchfox.org/mozilla-central/rev/445097654c1cc1098ee0171a29c439afe363a588/dom/plugins/ipc/PluginInstanceParent.cpp#729 [3] http://searchfox.org/mozilla-central/rev/445097654c1cc1098ee0171a29c439afe363a588/dom/plugins/ipc/PluginInstanceParent.cpp#798
One additional note, sometimes the cc video will display pre-roll ads. These ads use the same rendering mode the video uses, and they display correctly. I've confirmed the dst image data is valid after the call to SetCurrentImage in both cases. However for some reason the image data from the video refuses to display.
Looking at the layer tree, I'm not sure if this is expected or not, but we have two ImageLayerComposite layers each with a ShmemTextureHost where the video sits. ImageLayerComposite (0x178bcc00) [shadow-clip=(x=356, y=230, w=960, h=542)] [shadow-transform=[ 1 0; 0 1; 356 230; ]] [shadow-visible=< (x=0, y=0, w=960, h=542); >] [clip=(x=356, y=230, w=960, h=542)] [transform=[ 1 0; 0 1; 356 230; ]] [effective-transform=[ 1 0; 0 1; 357 341; ]] [visible=< (x=0, y=0, w=960, h=542); >] [metrics0={ [metrics={ [cb=(x=0.000000, y=0.000000, w=1671.000000, h=1168.000000)] [sr=(x=0.000000, y=0.000000, w=1671.000000, h=3329.000000)] [s=(0,0)] [dp=(x=0.000000, y=0.000000, w=1671.000000, h=3329.000000)] [cdp=(x=0.000000, y=0.000000, w=0.000000, h=0.000000)] [scrollId=7] [rcd] [z=1] }] [color=rgba(0, 0, 0, 1.000000)] [clip=(x=0, y=0, w=1671, h=1168)] }] ImageHost (0x16e4d1c0) ShmemTextureHost (0x178436a0) [size=(w=960, h=542)] [format=SurfaceFormat::B8G8R8A8] [flags=] [picture-rect=(x=0, y=0, w=960, h=542)] ImageLayerComposite (0x17abd400) [shadow-clip=(x=356, y=230, w=960, h=542)] [shadow-transform=[ 1 0; 0 1; 356 230; ]] [shadow-visible=< (x=0, y=0, w=960, h=542); >] [clip=(x=356, y=230, w=960, h=542)] [transform=[ 1 0; 0 1; 356 230; ]] [effective-transform=[ 1 0; 0 1; 357 341; ]] [visible=< (x=0, y=0, w=960, h=542); >] [metrics0={ [metrics={ [cb=(x=0.000000, y=0.000000, w=1671.000000, h=1168.000000)] [sr=(x=0.000000, y=0.000000, w=1671.000000, h=3329.000000)] [s=(0,0)] [dp=(x=0.000000, y=0.000000, w=1671.000000, h=3329.000000)] [cdp=(x=0.000000, y=0.000000, w=0.000000, h=0.000000)] [scrollId=7] [rcd] [z=1] }] [color=rgba(0, 0, 0, 1.000000)] [clip=(x=0, y=0, w=1671, h=1168)] }] ImageHost (0x163f1820) ShmemTextureHost (0x19609b60) [size=(w=960, h=542)] [format=SurfaceFormat::B8G8R8A8] [flags=] [picture-rect=(x=0, y=0, w=960, h=542)]
Flash Player will only use hardware Async Drawing if the wmode is "direct". It appears that this Comedy Central site is using wmode "transparent", so we use the software path, even if the browser indicates that it supports hardware.
Flags: needinfo?(mtalistu)
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
Whiteboard: gfx → gfx, STR in comment #0
Resolution: DUPLICATE → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.