diff --git a/dom/media/platforms/wmf/WMFDecoderModule.cpp b/dom/media/platforms/wmf/WMFDecoderModule.cpp index 64991b0e08..435ed740ea 100644 --- a/dom/media/platforms/wmf/WMFDecoderModule.cpp +++ b/dom/media/platforms/wmf/WMFDecoderModule.cpp @@ -6,7 +6,7 @@ #include "WMF.h" #include "WMFDecoderModule.h" #include "WMFVideoMFTManager.h" -#include "WMFVP9MFTManager.h" +#include "WMFVP9DXVA2Manager.h" #include "WMFAudioMFTManager.h" #include "MFTDecoder.h" #include "mozilla/DebugOnly.h" @@ -108,8 +108,8 @@ WMFDecoderModule::CreateVP9Decoder(const CreateDecoderParams& aParams) } if (dxva2Allowed) { - nsAutoPtr vp9( - new WMFVP9MFTManager(aParams.VideoConfig(), + nsAutoPtr vp9( + new WMFVP9DXVA2Manager(aParams.VideoConfig(), aParams.mKnowsCompositor, aParams.mImageContainer)); if (vp9->Init()) { diff --git a/dom/media/platforms/wmf/WMFVP9MFTManager.cpp b/dom/media/platforms/wmf/WMFVP9DXVA2Manager.cpp similarity index 92% rename from dom/media/platforms/wmf/WMFVP9MFTManager.cpp rename to dom/media/platforms/wmf/WMFVP9DXVA2Manager.cpp index 96cad1cb42..f1e1baada1 100644 --- a/dom/media/platforms/wmf/WMFVP9MFTManager.cpp +++ b/dom/media/platforms/wmf/WMFVP9DXVA2Manager.cpp @@ -3,7 +3,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#include "WMFVP9MFTManager.h" +#include "WMFVP9DXVA2Manager.h" #include "WMFVideoMFTManager.h" #include "ImageContainer.h" #include "Layers.h" @@ -22,12 +22,12 @@ struct VP9ShownFrame { bool mKeyframe; }; -WMFVP9MFTManager::WMFVP9MFTManager(const VideoInfo& aConfig, +WMFVP9DXVA2Manager::WMFVP9DXVA2Manager(const VideoInfo& aConfig, layers::KnowsCompositor* aCompositor, layers::ImageContainer* aContainer) : mVideoInfo(aConfig), mKnowsCompositor(aCompositor), mImageContainer(aContainer), mIsValid(false) {} -WMFVP9MFTManager::~WMFVP9MFTManager() { Shutdown(); } -bool WMFVP9MFTManager::Init() +WMFVP9DXVA2Manager::~WMFVP9DXVA2Manager() { Shutdown(); } +bool WMFVP9DXVA2Manager::Init() { if (!IsVistaOrLater()) { mFailureReason.AssignLiteral("VP9 DXVA2 requires Windows Vista or later"); @@ -79,7 +79,7 @@ bool WMFVP9MFTManager::Init() mFailureReason.AssignLiteral("Using VP9 DXVA2 profile 0"); return true; } -HRESULT WMFVP9MFTManager::Input(MediaRawData* aSample) +HRESULT WMFVP9DXVA2Manager::Input(MediaRawData* aSample) { if (!mIsValid) { return E_UNEXPECTED; } if (!aSample || aSample->Size() > UINT32_MAX) { return E_INVALIDARG; } @@ -129,7 +129,7 @@ HRESULT WMFVP9MFTManager::Input(MediaRawData* aSample) } return S_OK; } -HRESULT WMFVP9MFTManager::Output(int64_t, RefPtr& aOutput) +HRESULT WMFVP9DXVA2Manager::Output(int64_t, RefPtr& aOutput) { aOutput = nullptr; if (mPendingFrames.IsEmpty()) { return MF_E_TRANSFORM_NEED_MORE_INPUT; } @@ -137,20 +137,20 @@ HRESULT WMFVP9MFTManager::Output(int64_t, RefPtr& aOutput) mPendingFrames.RemoveElementAt(0); return S_OK; } -void WMFVP9MFTManager::Flush() +void WMFVP9DXVA2Manager::Flush() { mPendingFrames.Clear(); mSeekTargetThreshold.reset(); if (mVP9Decoder) { mVP9Decoder->Flush(); } } -void WMFVP9MFTManager::Shutdown() +void WMFVP9DXVA2Manager::Shutdown() { mPendingFrames.Clear(); mVP9Decoder = nullptr; if (mDXVA2Manager) { DeleteOnMainThread(mDXVA2Manager); } mIsValid = false; } -bool WMFVP9MFTManager::IsHardwareAccelerated(nsACString& aReason) const +bool WMFVP9DXVA2Manager::IsHardwareAccelerated(nsACString& aReason) const { aReason = mFailureReason; return mIsValid; diff --git a/dom/media/platforms/wmf/WMFVP9MFTManager.h b/dom/media/platforms/wmf/WMFVP9DXVA2Manager.h similarity index 84% rename from dom/media/platforms/wmf/WMFVP9MFTManager.h rename to dom/media/platforms/wmf/WMFVP9DXVA2Manager.h index 2f890f8f7d..e594b33b2c 100644 --- a/dom/media/platforms/wmf/WMFVP9MFTManager.h +++ b/dom/media/platforms/wmf/WMFVP9DXVA2Manager.h @@ -3,8 +3,8 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#ifndef WMFVP9MFTManager_h_ -#define WMFVP9MFTManager_h_ +#ifndef WMFVP9DXVA2Manager_h_ +#define WMFVP9DXVA2Manager_h_ #include "WMF.h" #include "WMFMediaDataDecoder.h" #include "DXVA2Manager.h" @@ -12,10 +12,10 @@ #include "MediaInfo.h" #include "nsTArray.h" namespace mozilla { -class WMFVP9MFTManager : public MFTManager { +class WMFVP9DXVA2Manager : public MFTManager { public: - WMFVP9MFTManager(const VideoInfo&, layers::KnowsCompositor*, layers::ImageContainer*); - ~WMFVP9MFTManager(); + WMFVP9DXVA2Manager(const VideoInfo&, layers::KnowsCompositor*, layers::ImageContainer*); + ~WMFVP9DXVA2Manager(); bool Init(); HRESULT Input(MediaRawData*) override; HRESULT Output(int64_t, RefPtr&) override; diff --git a/dom/media/platforms/wmf/moz.build b/dom/media/platforms/wmf/moz.build index 75b706c81a..0e3d5d0965 100644 --- a/dom/media/platforms/wmf/moz.build +++ b/dom/media/platforms/wmf/moz.build @@ -15,7 +15,7 @@ EXPORTS += [ 'WMFMediaDataDecoder.h', 'WMFUtils.h', 'WMFVideoMFTManager.h', - 'WMFVP9MFTManager.h', + 'WMFVP9DXVA2Manager.h', ] UNIFIED_SOURCES += [ @@ -31,7 +31,7 @@ SOURCES += [ 'DXVAVP9Manager.cpp', 'VP9HeaderParser.cpp', 'WMFUtils.cpp', - 'WMFVP9MFTManager.cpp', + 'WMFVP9DXVA2Manager.cpp', ] include('/ipc/chromium/chromium-config.mozbuild')