Closed Bug 1153123 Opened 9 years ago Closed 9 years ago

HTML5 MP4 videos for me are black in Aurora.

Categories

(Core :: Audio/Video, defect)

x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla41
Tracking Status
firefox38 --- unaffected
firefox38.0.5 --- unaffected
firefox39 + fixed
firefox40 + fixed
firefox41 + fixed

People

(Reporter: caspy77, Assigned: mattwoodrow)

References

(Blocks 1 open bug)

Details

(Keywords: regression)

Crash Data

Attachments

(2 files)

Attached image Black MP4
Starting with today's Aurora (39.0a2 (2015-04-09)) all MP4 videos display as black.  The sound plays and all other video indicators, such as pause and time progress, are fine.
Tested in the prior day's build (2015-04-08) and it works fine.

I tested in a fresh profile.  Youtube videos as well as http://media.w3.org/2010/05/sintel/trailer.mp4 both provided the same black results while http://video.webmfiles.org/big-buck-bunny_trailer.webm played fine.

Assuming it might provide helpful information I started the fresh profile up to directly to the MP4 video I linked above and induced a crash (see attached signature).
I am on Windows 7 64 bit.

Disabling hardware acceleration fixes the issue (but layers.d3d11.disable-warp does not FYI). 

On second consideration (per my attachment) the videos may be transparent as I believe I've seen them with a white background as well.
This issue also presents in the most recent nightly but not the most recent beta.
Note that setting media.windows-media-foundation.use-dxva to false does not solve the issue.
Looks similar to https://bugzilla.mozilla.org/show_bug.cgi?id=1155608, maybe your driver should be blacklisted for FEATURE_HARDWARE_VIDEO_DECODING.
Can you paste here the contents of the gfx section of about:support?
Flags: needinfo?(caspy77)
We know when the code landed that caused this, so hopefully we can have a good idea of the cause.

Graphics
--------
Adapter Description: Intel(R) HD Graphics Family
Adapter Drivers: igdumd64 igd10umd64 igd10umd64 igdumdx32 igd10umd32 igd10umd32
Adapter RAM: Unknown
Asynchronous Pan/Zoom: none
Device ID: 0x0116
DirectWrite Enabled: false (6.2.9200.16571)
Driver Date: 6-10-2011
Driver Version: 8.15.10.2418
GPU #2 Active: false
GPU Accelerated Windows: 0/8 Basic (OMTC)
Subsys ID: 049a1028
Vendor ID: 0x8086
WebGL Renderer: Google Inc. -- ANGLE (Intel(R) HD Graphics Family Direct3D9Ex vs_3_0 ps_3_0)
windowLayerManagerRemote: true
AzureCanvasBackend: skia
AzureContentBackend: cairo
AzureFallbackCanvasBackend: cairo
AzureSkiaAccelerated: 0
Flags: needinfo?(caspy77)
The blacklist rule for hardware video decoding should apply to your device as well:
>      APPEND_TO_DRIVER_BLOCKLIST2(DRIVER_OS_ALL,
>      (nsAString&)GfxDriverInfo::GetDeviceVendor(VendorIntel), GfxDriverInfo::allDevices,
>      nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING, nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
>      DRIVER_LESS_THAN, V(8,15,10,2622));

So maybe hardware video decoding isn't the cause here.
Can you try mozregression and see if you can pin it down to a specific change?
Flags: needinfo?(caspy77)
There are a few MSE-related commits in the 2015-04-08:2015-04-09 range: https://hg.mozilla.org/releases/mozilla-aurora/pushloghtml?startdate=2015-04-08&enddate=2015-04-09

One of the commits added the blacklist rule I mentioned in comment 6.
Clearing ni? per conversation on IRC that we've likely zeroed in on the issue.
Flags: needinfo?(caspy77)
Possible fix: http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/mwoodrow@mozilla.com-cd65607f03d9/try-win32/

Caspy7, would you mind test that to see if it helps? It's a bit of a long shot, but worth a try.
(In reply to Matt Woodrow (:mattwoodrow) from comment #10)
> Possible fix:
> http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/mwoodrow@mozilla.
> com-cd65607f03d9/try-win32/
> 
> Caspy7, would you mind test that to see if it helps? It's a bit of a long
> shot, but worth a try.

Doesn't help.
Someone else posted on reddit the same symptoms.
In the comments I asked them to list their Graphics stats from about:support

https://www.reddit.com/r/firefox/comments/35dxxm/video_playback_difference_beta_vs_nightly/

I'm adding this on the chance they have a configuration we haven't seen.

They listed the following:

Adapter Description	Intel(R) HD Graphics Family  
Adapter Description (GPU #2)	NVIDIA GeForce GT 525M  
Adapter Drivers	igdumd64 igd10umd64 igd10umd64 igdumdx32 igd10umd32 igd10umd32  
Adapter Drivers (GPU #2)	nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um  
Adapter RAM	Unknown  
Adapter RAM (GPU #2)	1024  
Asynchronous Pan/Zoom	none  
ClearType Parameters	Gamma: 2200 Pixel Structure: R ClearType Level: 100 Enhanced Contrast: 50  
Device ID	0x0116  
Device ID (GPU #2)	0x0df5  
Direct2D Enabled	true  
DirectWrite Enabled	true (6.2.9200.16571)  
Driver Date	4-10-2011  
Driver Date (GPU #2)	4-8-2015  
Driver Version	8.15.10.2361  
Driver Version (GPU #2)	9.18.13.5012  
GPU #2 Active	false  
GPU Accelerated Windows	1/1 Direct3D 11 (OMTC)  
Subsys ID	04ca1028  
Subsys ID (GPU #2)	04ca1028  
Supports Hardware H264 Decoding	false  
Vendor ID	0x8086  
Vendor ID (GPU #2)	0x10de  
WebGL Renderer	Google Inc. -- ANGLE (Intel(R) HD Graphics Family Direct3D9Ex vs_3_0 ps_3_0)  
windowLayerManagerRemote	true  
AzureCanvasBackend	direct2d 1.1  
AzureContentBackend	direct2d 1.1  
AzureFallbackCanvasBackend	cairo  
AzureSkiaAccelerated	0
Similar driver versions to bug 1150622 comment 22.
(In reply to Caspy7 from comment #11)
> (In reply to Matt Woodrow (:mattwoodrow) from comment #10)
> > Possible fix:
> > http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/mwoodrow@mozilla.
> > com-cd65607f03d9/try-win32/
> > 
> > Caspy7, would you mind test that to see if it helps? It's a bit of a long
> > shot, but worth a try.
> 
> Doesn't help.

Can you please test with the debug build [1] and copy the contents of the cmd.exe window that should open at the same time. Hopefully there will be relevant errors in that.

[1] http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/mwoodrow@mozilla.com-cd65607f03d9/try-win32-debug/
(In reply to Matt Woodrow (:mattwoodrow) from comment #14)
> Can you please test with the debug build [1] and copy the contents of the
> cmd.exe window that should open at the same time. Hopefully there will be
> relevant errors in that.

While the video is playing, the terminal window fills up with repeats of the following:

[Parent 24520] WARNING: failed to lock front buffer: file c:\builds\moz2_slave\t
ry-w32-d-00000000000000000000\build\src\gfx\layers\composite/ImageHost.cpp, line
 91
[Parent 24520] WARNING: Failed to open shared texture for Y Plane: file c:\build
s\moz2_slave\try-w32-d-00000000000000000000\build\src\gfx\layers\d3d11/TextureD3
D11.cpp, line 716
Thanks!

Doing a try build to detect this broken configuration and fall back to something that works:

 https://treeherder.mozilla.org/#/jobs?repo=try&revision=796af107a60a

I wrote it on OSX, so hopefully it compiles :)
Build directory: http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/mwoodrow@mozilla.com-1519fc0c556c/try-win32-debug/

Caspy7, can you please test to see if that one works better :)
Flags: needinfo?(caspy77)
Sorry, no.
Flags: needinfo?(caspy77)
It looks like sharing of A8 textures is broken for some intel cards, so we should avoid using it if it doesn't work.

https://msdn.microsoft.com/en-us/library/windows/desktop/jj835918%28v=vs.85%29.aspx

That link seems related (though d2d specific), but I can't find much else about this problem.
Assignee: nobody → matt.woodrow
Attachment #8606255 - Flags: review?(bas)
Comment on attachment 8606255 [details] [diff] [review]
Don't upload in the ImageBridge thread if A8 texture sharing is broken

Review of attachment 8606255 [details] [diff] [review]:
-----------------------------------------------------------------

Thanks for merging the InitD3D11Devices as I'd asked!

Yes, I've noticed that D2D never allows A8 interop. It may be related, it may not, it's hard to say.
Attachment #8606255 - Flags: review?(bas) → review+
Backed out in https://hg.mozilla.org/integration/mozilla-inbound/rev/38d40bcd0c46 for making w-p-t uselessly blow up in some incomprehensible way that will take you several days to debug, https://treeherder.mozilla.org/logviewer.html#?job_id=9898871&repo=mozilla-inbound
Should we track this for 39 and higher?
[Tracking Requested - why for this release]: It is the earliest we can get a fix in. This issue affects a common video driver.
This appears to affect nightly on my mid 2012 MacBook Pro (retina) as well.

This is the Graphics section from about:support

Asynchronous Pan/Zoom	none
Device ID	0x 166
GPU Accelerated Windows	1/1 OpenGL (OMTC)
Supports Hardware H264 Decoding	false
Vendor ID	0x8086
WebGL Renderer	NVIDIA Corporation -- NVIDIA GeForce GT 650M OpenGL Engine
windowLayerManagerRemote	true
AzureCanvasBackend	skia
AzureContentBackend	quartz
AzureFallbackCanvasBackend	none
AzureSkiaAccelerated	0
https://hg.mozilla.org/mozilla-central/rev/57acaa90d7c6
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
(In reply to Christian Sonne [:cers] from comment #26)
> This appears to affect nightly on my mid 2012 MacBook Pro (retina) as well.

You are experiencing a different issue. I'm guessing it's the e10s issue that has been resolved separately. If you are still experiencing problems then file a new bug.
Depends on: 1170211
So I just tried this on a current nightly and the video played fine. I then tried it on Aurora and got the traditional black screen.

IIRC, Matt indicated that once we know it's working fine on Nightly, we could land it on Aurora (yes please!).
(In reply to Caspy7 from comment #30)
> So I just tried this on a current nightly and the video played fine. I then
> tried it on Aurora and got the traditional black screen.
> 
> IIRC, Matt indicated that once we know it's working fine on Nightly, we
> could land it on Aurora (yes please!).

If we do, we have to make sure bug 1170211 (thanks for tagging it as dependent David) is uplifted, as this patch as is causes crashes with < feature level 10 cards.
Matt do you want to request uplift for this and bug 1170211?
 
Milan and Matt, how risky do you think this is for beta? It would be great to fix this but we're about to gtb for beta 3 in the morning so at best this would make it for beta 4 (of 7).
Flags: needinfo?(matt.woodrow)
Keywords: regression
We have trouble with video on 39 (see bug 1170143 and bug 1146313) - any video change could thus make things better, or even worse.  I don't think this one is particularly related to the two bugs above, just illustrating the point.  I'd say we need a comment from the video team - whether they can pile on one more potential thing to worry about in 39 - but this bug on itself seems not to be high risk.
Flags: needinfo?(ajones)
This bug affects Intel driver versions that are blacklisted for video but not blacklisted for layers. These are roughly versions from .2200 to .2800. That ends up affecting a lot of people so I would really like to see this uplifted to 39.
Flags: needinfo?(ajones)
Comment on attachment 8606255 [details] [diff] [review]
Don't upload in the ImageBridge thread if A8 texture sharing is broken

Approval Request Comment
[Feature/regressing bug #]: Bug 1151721
[User impact if declined]: Black video with MSE for affected users
[Describe test coverage new/current, TreeHerder]: Manually tested
[Risks and why]: Low risk, falls back to our existing video upload path
[String/UUID change made/needed]: None
Flags: needinfo?(matt.woodrow)
Attachment #8606255 - Flags: approval-mozilla-beta?
Attachment #8606255 - Flags: approval-mozilla-aurora?
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #34)
> This bug affects Intel driver versions that are blacklisted for video but
> not blacklisted for layers. These are roughly versions from .2200 to .2800.
> That ends up affecting a lot of people so I would really like to see this
> uplifted to 39.

So, no chance of it helping bug 1170143, where the driver is .2086?
Comment on attachment 8606255 [details] [diff] [review]
Don't upload in the ImageBridge thread if A8 texture sharing is broken

Fix for an MSE regression, approved for uplift to aurora and beta.
Attachment #8606255 - Flags: approval-mozilla-beta?
Attachment #8606255 - Flags: approval-mozilla-beta+
Attachment #8606255 - Flags: approval-mozilla-aurora?
Attachment #8606255 - Flags: approval-mozilla-aurora+
Blocks: 1173983
You need to log in before you can comment on or make changes to this bug.