author | Carsten "Tomcat" Book <cbook@mozilla.com> |
Tue, 20 Jun 2017 09:41:32 +0200 | |
changeset 364996 | 8bdb30465db3f25ebe26981d3f84f13d685c1e7f |
parent 364995 | 3acbb3037515693c4eee2ce26823a62f3c12098d |
child 364997 | 35093d05505cf66538704e144aee902f2c1164f0 |
push id | 91680 |
push user | kwierso@gmail.com |
push date | Wed, 21 Jun 2017 01:32:01 +0000 |
treeherder | mozilla-inbound@f7b9dc31956c [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
bugs | 1373229 |
milestone | 56.0a1 |
backs out | de548d84af20d7a93fce1f68c5e2e11fc55bd68f |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
dom/media/platforms/wmf/WMFVideoMFTManager.cpp | file | annotate | diff | comparison | revisions | |
dom/media/platforms/wmf/WMFVideoMFTManager.h | file | annotate | diff | comparison | revisions |
--- a/dom/media/platforms/wmf/WMFVideoMFTManager.cpp +++ b/dom/media/platforms/wmf/WMFVideoMFTManager.cpp @@ -19,17 +19,16 @@ #include "MediaInfo.h" #include "MediaTelemetryConstants.h" #include "VPXDecoder.h" #include "VideoUtils.h" #include "WMFUtils.h" #include "gfx2DGlue.h" #include "gfxPrefs.h" #include "gfxWindowsPlatform.h" -#include "mozilla/gfx/DeviceManagerDx.h" #include "mozilla/AbstractThread.h" #include "mozilla/ClearOnShutdown.h" #include "mozilla/Logging.h" #include "mozilla/SyncRunnable.h" #include "mozilla/Telemetry.h" #include "mozilla/WindowsVersion.h" #include "mozilla/layers/LayersTypes.h" #include "nsPrintfCString.h" @@ -512,33 +511,21 @@ WMFVideoMFTManager::Init() return success; } bool WMFVideoMFTManager::InitInternal() { mUseHwAccel = false; // default value; changed if D3D setup succeeds. - RefPtr<ID3D11Device> device = gfx::DeviceManagerDx::Get()->GetContentDevice(); - if (!device) { - device = gfx::DeviceManagerDx::Get()->GetCompositorDevice(); - } - RefPtr<ID3D10Multithread> multi; - HRESULT hr = - device->QueryInterface((ID3D10Multithread**)getter_AddRefs(multi)); - if (SUCCEEDED(hr)) { - multi->SetMultithreadProtected(TRUE); - mIMFUsable = true; - } - - bool useDxva = mIMFUsable && InitializeDXVA(); + bool useDxva = InitializeDXVA(); RefPtr<MFTDecoder> decoder(new MFTDecoder()); - hr = decoder->Create(GetMFTGUID()); + HRESULT hr = decoder->Create(GetMFTGUID()); NS_ENSURE_TRUE(SUCCEEDED(hr), false); RefPtr<IMFAttributes> attr(decoder->GetAttributes()); UINT32 aware = 0; if (attr) { attr->GetUINT32(MF_SA_D3D_AWARE, &aware); attr->SetUINT32(CODECAPI_AVDecNumWorkerThreads, WMFDecoderModule::GetNumDecoderThreads()); @@ -847,17 +834,17 @@ WMFVideoMFTManager::CreateBasicVideoFram TimeUnit pts = GetSampleTime(aSample); NS_ENSURE_TRUE(pts.IsValid(), E_FAIL); TimeUnit duration = GetSampleDuration(aSample); NS_ENSURE_TRUE(duration.IsValid(), E_FAIL); nsIntRect pictureRegion = mVideoInfo.ScaledImageRect(videoWidth, videoHeight); LayersBackend backend = GetCompositorBackendType(mKnowsCompositor); - if (backend != LayersBackend::LAYERS_D3D11 || !mIMFUsable) { + if (backend != LayersBackend::LAYERS_D3D11) { RefPtr<VideoData> v = VideoData::CreateAndCopyData(mVideoInfo, mImageContainer, aStreamOffset, pts, duration, b, false,
--- a/dom/media/platforms/wmf/WMFVideoMFTManager.h +++ b/dom/media/platforms/wmf/WMFVideoMFTManager.h @@ -116,14 +116,13 @@ private: const GUID& GetMFTGUID(); const GUID& GetMediaSubtypeGUID(); uint32_t mNullOutputCount = 0; bool mGotValidOutputAfterNullOutput = false; bool mGotExcessiveNullOutput = false; bool mIsValid = true; - bool mIMFUsable = false; }; } // namespace mozilla #endif // WMFVideoMFTManager_h_