Quelle WMFClearKeyInputTrustAuthority.cpp
Sprache: 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/. */
STDMETHODIMP WMFClearKeyInputTrustAuthority::GetDecrypter(REFIID aRiid, void** aPpv) {
ENTRY_LOG();
ComPtr<IMFTransform> decryptor; // TODO : As currently we are still not able to make decryption working in the // media foundation pipeline, we will finish the implementation for // WMFClearKeyDecryptor later. // RETURN_IF_FAILED((MakeAndInitialize<WMFClearKeyDecryptor, IMFTransform>( // &decryptor, mSessionManager)));
RETURN_IF_FAILED(decryptor.CopyTo(aRiid, aPpv)); return S_OK;
}
STDMETHODIMP WMFClearKeyInputTrustAuthority::RequestAccess(
MFPOLICYMANAGER_ACTION aAction, IMFActivate** aContentEnablerActivate) {
ENTRY_LOG_ARGS("aAction=%d", aAction); // The ITA only allows the PLAY, EXTRACT and NO actions // NOTE: Topology created only on the basis of EXTRACT or NO action will NOT // decrypt content. if (PEACTION_EXTRACT == aAction || PEACTION_NO == aAction) { return S_OK;
} if (PEACTION_PLAY != aAction) {
ENTRY_LOG_ARGS("Unsupported action"); return MF_E_ITA_UNSUPPORTED_ACTION;
}
ComPtr<IMFActivate> activate;
RETURN_IF_FAILED(MakeAndInitialize<WMFClearKeyActivate>(&activate));
*aContentEnablerActivate = activate.Detach(); return S_OK;
}
STDMETHODIMP WMFClearKeyInputTrustAuthority::GetPolicy(
MFPOLICYMANAGER_ACTION aAction, IMFOutputPolicy** aPolicy) {
ENTRY_LOG(); // For testing purpose, we don't need to set the output policy/
*aPolicy = nullptr; return S_OK;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.