#include "media/mojo/services/mojo_cdm_helper.h"
#include <tuple>
#include "build/build_config.h"
#include "media/base/cdm_context.h"
#include "media/cdm/cdm_helpers.h"
#include "media/mojo/services/mojo_cdm_allocator.h"
#include "media/mojo/services/mojo_cdm_file_io.h"
#include "mojo/public/cpp/bindings/callback_helpers.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
namespace media {
MojoCdmHelper::MojoCdmHelper(mojom::FrameInterfaceFactory* frame_interfaces)
: … { … }
MojoCdmHelper::~MojoCdmHelper() = default;
void MojoCdmHelper::SetFileReadCB(FileReadCB file_read_cb) { … }
cdm::FileIO* MojoCdmHelper::CreateCdmFileIO(cdm::FileIOClient* client) { … }
url::Origin MojoCdmHelper::GetCdmOrigin() { … }
#if BUILDFLAG(IS_WIN)
void MojoCdmHelper::GetMediaFoundationCdmData(
GetMediaFoundationCdmDataCB callback) {
ConnectToCdmDocumentService();
cdm_document_service_->GetMediaFoundationCdmData(std::move(callback));
}
void MojoCdmHelper::SetCdmClientToken(
const std::vector<uint8_t>& client_token) {
ConnectToCdmDocumentService();
cdm_document_service_->SetCdmClientToken(client_token);
}
void MojoCdmHelper::OnCdmEvent(CdmEvent event, HRESULT hresult) {
ConnectToCdmDocumentService();
cdm_document_service_->OnCdmEvent(event, hresult);
}
#endif
cdm::Buffer* MojoCdmHelper::CreateCdmBuffer(size_t capacity) { … }
std::unique_ptr<VideoFrameImpl> MojoCdmHelper::CreateCdmVideoFrame() { … }
void MojoCdmHelper::QueryStatus(QueryStatusCB callback) { … }
void MojoCdmHelper::EnableProtection(uint32_t desired_protection_mask,
EnableProtectionCB callback) { … }
void MojoCdmHelper::ChallengePlatform(const std::string& service_id,
const std::string& challenge,
ChallengePlatformCB callback) { … }
void MojoCdmHelper::GetStorageId(uint32_t version, StorageIdCB callback) { … }
void MojoCdmHelper::CloseCdmFileIO(MojoCdmFileIO* cdm_file_io) { … }
void MojoCdmHelper::ReportFileReadSize(int file_size_bytes) { … }
void MojoCdmHelper::ConnectToOutputProtection() { … }
void MojoCdmHelper::ConnectToCdmDocumentService() { … }
CdmAllocator* MojoCdmHelper::GetAllocator() { … }
}