Closed Bug 1264925 Opened 8 years ago Closed 8 years ago

Crash attempting to play webm using intel HW decoder

Categories

(Core :: Audio/Video: Playback, defect)

x86
Windows 10
defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla48
Tracking Status
firefox48 --- verified

People

(Reporter: jya, Unassigned)

Details

Attachments

(1 file)

This is a regression as it used to play

Set media.webm.intel_decoder.enabled to true/

open:
http://people.mozilla.org/~ajones/frame-drop-test/bbb-11.webm


Exception thrown at 0x6C53811F (d3d11.dll) in firefox.exe: 0xC0000005: Access violation writing location 0x00000003.

 	d3d11.dll!CDevice::CreateTexture1D_Worker(struct D3D11_TEXTURE1D_DESC const *,enum D3D11_TEXTURE_LAYOUT,struct D3D11_SUBRESOURCE_DATA const *,struct ID3D11Texture1D * *,struct SD3D11SharedResourceCreationArgs *,bool,bool)	Unknown
 	d3d11.dll!CDevice::CreateTexture1D(struct D3D11_TEXTURE1D_DESC const *,struct D3D11_SUBRESOURCE_DATA const *,struct ID3D11Texture1D * *)	Unknown
 	libmfxhw32.dll!5ae68eb8()	Unknown
 	[Frames below may be incorrect and/or missing, no symbols loaded for libmfxhw32.dll]	
 	libmfxhw32.dll!5ae5f1cd()	Unknown
 	mfx_mft_vp9vd_32.dll!67ce4841()	Unknown
 	mfx_mft_vp9vd_32.dll!67d002b2()	Unknown
 	mfx_mft_vp9vd_32.dll!67ce2ca6()	Unknown
 	mfx_mft_vp9vd_32.dll!67cc2bfa()	Unknown
>	xul.dll!mozilla::MFTDecoder::SendMFTMessage(_MFT_MESSAGE_TYPE aMsg, unsigned long aData) Line 118	C++
 	xul.dll!mozilla::WMFVideoMFTManager::InitInternal(bool aForceD3D9) Line 267	C++
 	xul.dll!mozilla::WMFVideoMFTManager::Init() Line 218	C++
 	xul.dll!mozilla::WMFDecoderModule::CreateVideoDecoder(const mozilla::VideoInfo & aConfig, mozilla::layers::LayersBackend aLayersBackend, mozilla::layers::ImageContainer * aImageContainer, mozilla::FlushableTaskQueue * aVideoTaskQueue, mozilla::MediaDataDecoderCallback * aCallback) Line 113	C++
 	xul.dll!mozilla::PDMFactory::CreateDecoderWithPDM(mozilla::PlatformDecoderModule * aPDM, const mozilla::TrackInfo & aConfig, mozilla::FlushableTaskQueue * aTaskQueue, mozilla::MediaDataDecoderCallback * aCallback, mozilla::layers::LayersBackend aLayersBackend, mozilla::layers::ImageContainer * aImageContainer) Line 228	C++
 	xul.dll!mozilla::PDMFactory::CreateDecoder(const mozilla::TrackInfo & aConfig, mozilla::FlushableTaskQueue * aTaskQueue, mozilla::MediaDataDecoderCallback * aCallback, mozilla::layers::LayersBackend aLayersBackend, mozilla::layers::ImageContainer * aImageContainer) Line 166	C++
 	xul.dll!mozilla::MediaFormatReader::EnsureDecoderCreated(mozilla::TrackInfo::TrackType aTrack) Line 402	C++
 	xul.dll!mozilla::MediaFormatReader::HandleDemuxedSamples(mozilla::TrackInfo::TrackType aTrack, mozilla::AbstractMediaDecoder::AutoNotifyDecoded & aA) Line 874	C++
 	xul.dll!mozilla::MediaFormatReader::Update(mozilla::TrackInfo::TrackType aTrack) Line 1154	C++
 	xul.dll!nsRunnableMethodImpl<void (__thiscall mozilla::AbstractCanonical<__int64>::*)(mozilla::AbstractMirror<__int64> *),1,StorensRefPtrPassByPtr<mozilla::AbstractMirror<__int64> > >::Run() Line 706	C++
 	xul.dll!mozilla::AutoTaskDispatcher::TaskGroupRunnable::Run() Line 195	C++
 	xul.dll!mozilla::TaskQueue::Runner::Run() Line 172	C++
 	xul.dll!nsThreadPool::Run() Line 230	C++
 	xul.dll!nsThread::ProcessNextEvent(bool aMayWait, bool * aResult) Line 994	C++
 	xul.dll!NS_ProcessNextEvent(nsIThread * aThread, bool aMayWait) Line 297	C++
 	xul.dll!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate * aDelegate) Line 369	C++
 	xul.dll!MessageLoop::RunHandler() Line 224	C++
 	xul.dll!MessageLoop::Run() Line 204	C++
 	xul.dll!nsThread::ThreadFunc(void * aArg) Line 398	C++
 	nss3.dll!_PR_NativeRunThread(void * arg) Line 419	C
 	nss3.dll!pr_root(void * arg) Line 95	C
 	[External Code]	

system will recover however if you ignore it.
OS: Unspecified → Windows 10
Hardware: Unspecified → x86
Forcing initialisation via D3D9 avoid the issue.

The Intel hardware VP8 decoder also doesn't work when using D3D11, initialisation of DXVA2 manager always fail when the GUID is set to VP8
Flags: needinfo?(matt.woodrow)
For some reason, MFT_MESSAGE_SET_D3D_MANAGER can't be set on D3D1 dxva manager.

I tried to look for the DXVA2_ModeVP9_VLD_Profile0, 0x463707f8, 0xa1d0,0x4585,0x87,0x6d,0x83,0xaa,0x6d,0x60,0xb8,0x9e); as they do in FFmpeg, but MFT_MESSAGE_SET_D3D_MANAGER still fail when attempting to use with a VP8 MFT Decoder.

So until then, just force d3D9 for now
Comment on attachment 8741831 [details]
MozReview Request: Bug 1264925: Force D3D9 when attempting to decode VP8 or VP9. r?mattwoodrow

https://reviewboard.mozilla.org/r/46789/#review43433
Attachment #8741831 - Flags: review?(matt.woodrow) → review+
Flags: needinfo?(matt.woodrow)
https://hg.mozilla.org/mozilla-central/rev/55fd1f69a9fd
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Flags: qe-verify+
VERIFIED as FIXED in Firefox Beta 48.0b2 build2 (20160620091522) on Windows 10 x86.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.