tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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