The MinGW capitalization linter requires Windows SDK headers to use lowercase filenames so the MinGW build can resolve them. The previous Python implementation was a silent no-op due to a `re.search(line, re.I)` bug (the `re.I` flag was being passed as the `pos` argument), so these five files slipped in with `<Mferror.h>` / `<Mfidl.h>`. The new mozcheck Rust port catches them; lowercase the includes to match the headers list. Differential Revision: https://phabricator.services.mozilla.com/D298142
54 lines
1.5 KiB
C++
54 lines
1.5 KiB
C++
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* 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 "WMFClearKeyCDMAccess.h"
|
|
|
|
#include <mferror.h>
|
|
#include <oleauto.h>
|
|
|
|
#include "WMFClearKeyCDM.h"
|
|
#include "WMFClearKeyUtils.h"
|
|
|
|
namespace mozilla {
|
|
|
|
using Microsoft::WRL::ComPtr;
|
|
using Microsoft::WRL::MakeAndInitialize;
|
|
|
|
STDMETHODIMP WMFClearKeyCDMAccess::CreateContentDecryptionModule(
|
|
IPropertyStore* aProperties, IMFContentDecryptionModule** aCdm) {
|
|
ENTRY_LOG();
|
|
if (!aProperties) {
|
|
ENTRY_LOG_ARGS("Null properties!");
|
|
return MF_E_UNEXPECTED;
|
|
}
|
|
|
|
*aCdm = nullptr;
|
|
ComPtr<IMFContentDecryptionModule> cdm;
|
|
RETURN_IF_FAILED(
|
|
(MakeAndInitialize<WMFClearKeyCDM, IMFContentDecryptionModule>(
|
|
&cdm, aProperties)));
|
|
*aCdm = cdm.Detach();
|
|
ENTRY_LOG_ARGS("Created clearkey CDM!");
|
|
return S_OK;
|
|
}
|
|
|
|
STDMETHODIMP WMFClearKeyCDMAccess::GetConfiguration(IPropertyStore** aConfig) {
|
|
NOT_IMPLEMENTED();
|
|
return E_NOTIMPL;
|
|
}
|
|
|
|
STDMETHODIMP WMFClearKeyCDMAccess::GetKeySystem(LPWSTR* aKeySystem) {
|
|
ENTRY_LOG();
|
|
*aKeySystem = (LPWSTR)CoTaskMemAlloc((wcslen(kCLEARKEY_SYSTEM_NAME) + 1) *
|
|
sizeof(wchar_t));
|
|
if (*aKeySystem == NULL) {
|
|
return E_OUTOFMEMORY;
|
|
}
|
|
wcscpy_s(*aKeySystem, wcslen(kCLEARKEY_SYSTEM_NAME) + 1,
|
|
kCLEARKEY_SYSTEM_NAME);
|
|
return S_OK;
|
|
}
|
|
|
|
} // namespace mozilla
|