WMFClearKeyCDMAccess.h (1362B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 #ifndef DOM_MEDIA_PLATFORM_WMF_CLEARKEY_WMFCLEARKEYCDMACCESS_H 6 #define DOM_MEDIA_PLATFORM_WMF_CLEARKEY_WMFCLEARKEYCDMACCESS_H 7 8 #include <mfidl.h> 9 #include <windows.h> 10 #include <wrl.h> 11 12 #include "MFCDMExtra.h" 13 14 namespace mozilla { 15 16 // This class is used to create WMFClearKeyCDM. 17 class WMFClearKeyCDMAccess final 18 : public Microsoft::WRL::RuntimeClass< 19 Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::ClassicCom>, 20 IMFContentDecryptionModuleAccess, Microsoft::WRL::FtmBase> { 21 public: 22 WMFClearKeyCDMAccess() = default; 23 ~WMFClearKeyCDMAccess() = default; 24 WMFClearKeyCDMAccess(const WMFClearKeyCDMAccess&) = delete; 25 WMFClearKeyCDMAccess& operator=(const WMFClearKeyCDMAccess&) = delete; 26 27 HRESULT RuntimeClassInitialize() { return S_OK; }; 28 29 // IMFContentDecryptionModuleAccess 30 STDMETHODIMP CreateContentDecryptionModule( 31 IPropertyStore* aProperties, IMFContentDecryptionModule** aCdm) override; 32 STDMETHODIMP GetConfiguration(IPropertyStore** aConfig) override; 33 STDMETHODIMP GetKeySystem(LPWSTR* aKeySystem) override; 34 }; 35 36 } // namespace mozilla 37 38 #endif // DOM_MEDIA_PLATFORM_WMF_CLEARKEY_WMFCLEARKEYCDMACCESS_H