| Index: media/mojo/clients/mojo_cdm.cc
|
| diff --git a/media/mojo/clients/mojo_cdm.cc b/media/mojo/clients/mojo_cdm.cc
|
| index 6674f81a2a2536e1f5dc40429218e88f6a059b79..3d1f227e7e2306121ee30256bf4e88017684bcf4 100644
|
| --- a/media/mojo/clients/mojo_cdm.cc
|
| +++ b/media/mojo/clients/mojo_cdm.cc
|
| @@ -140,9 +140,8 @@ void MojoCdm::SetServerCertificate(const std::vector<uint8_t>& certificate,
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| remote_cdm_->SetServerCertificate(
|
| - mojo::Array<uint8_t>::From(certificate),
|
| - base::Bind(&MojoCdm::OnPromiseResult<>, base::Unretained(this),
|
| - base::Passed(&promise)));
|
| + certificate, base::Bind(&MojoCdm::OnSimpleCdmPromiseResult,
|
| + base::Unretained(this), base::Passed(&promise)));
|
| }
|
|
|
| void MojoCdm::CreateSessionAndGenerateRequest(
|
| @@ -156,9 +155,8 @@ void MojoCdm::CreateSessionAndGenerateRequest(
|
| remote_cdm_->CreateSessionAndGenerateRequest(
|
| static_cast<mojom::ContentDecryptionModule::SessionType>(session_type),
|
| static_cast<mojom::ContentDecryptionModule::InitDataType>(init_data_type),
|
| - mojo::Array<uint8_t>::From(init_data),
|
| - base::Bind(&MojoCdm::OnPromiseResult<std::string>, base::Unretained(this),
|
| - base::Passed(&promise)));
|
| + init_data, base::Bind(&MojoCdm::OnNewSessionCdmPromiseResult,
|
| + base::Unretained(this), base::Passed(&promise)));
|
| }
|
|
|
| void MojoCdm::LoadSession(SessionType session_type,
|
| @@ -169,7 +167,7 @@ void MojoCdm::LoadSession(SessionType session_type,
|
|
|
| remote_cdm_->LoadSession(
|
| static_cast<mojom::ContentDecryptionModule::SessionType>(session_type),
|
| - session_id, base::Bind(&MojoCdm::OnPromiseResult<std::string>,
|
| + session_id, base::Bind(&MojoCdm::OnNewSessionCdmPromiseResult,
|
| base::Unretained(this), base::Passed(&promise)));
|
| }
|
|
|
| @@ -180,8 +178,8 @@ void MojoCdm::UpdateSession(const std::string& session_id,
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| remote_cdm_->UpdateSession(
|
| - session_id, mojo::Array<uint8_t>::From(response),
|
| - base::Bind(&MojoCdm::OnPromiseResult<>, base::Unretained(this),
|
| + session_id, response,
|
| + base::Bind(&MojoCdm::OnSimpleCdmPromiseResult, base::Unretained(this),
|
| base::Passed(&promise)));
|
| }
|
|
|
| @@ -191,7 +189,7 @@ void MojoCdm::CloseSession(const std::string& session_id,
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| remote_cdm_->CloseSession(
|
| - session_id, base::Bind(&MojoCdm::OnPromiseResult<>,
|
| + session_id, base::Bind(&MojoCdm::OnSimpleCdmPromiseResult,
|
| base::Unretained(this), base::Passed(&promise)));
|
| }
|
|
|
| @@ -201,7 +199,7 @@ void MojoCdm::RemoveSession(const std::string& session_id,
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| remote_cdm_->RemoveSession(
|
| - session_id, base::Bind(&MojoCdm::OnPromiseResult<>,
|
| + session_id, base::Bind(&MojoCdm::OnSimpleCdmPromiseResult,
|
| base::Unretained(this), base::Passed(&promise)));
|
| }
|
|
|
| @@ -236,18 +234,17 @@ int MojoCdm::GetCdmId() const {
|
| return cdm_id_;
|
| }
|
|
|
| -void MojoCdm::OnSessionMessage(const mojo::String& session_id,
|
| +void MojoCdm::OnSessionMessage(const std::string& session_id,
|
| mojom::CdmMessageType message_type,
|
| - mojo::Array<uint8_t> message) {
|
| + const std::vector<uint8_t>& message) {
|
| DVLOG(2) << __FUNCTION__;
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| - session_message_cb_.Run(session_id,
|
| - static_cast<MediaKeys::MessageType>(message_type),
|
| - message.storage());
|
| + session_message_cb_.Run(
|
| + session_id, static_cast<MediaKeys::MessageType>(message_type), message);
|
| }
|
|
|
| -void MojoCdm::OnSessionClosed(const mojo::String& session_id) {
|
| +void MojoCdm::OnSessionClosed(const std::string& session_id) {
|
| DVLOG(2) << __FUNCTION__;
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| @@ -255,9 +252,9 @@ void MojoCdm::OnSessionClosed(const mojo::String& session_id) {
|
| }
|
|
|
| void MojoCdm::OnSessionKeysChange(
|
| - const mojo::String& session_id,
|
| + const std::string& session_id,
|
| bool has_additional_usable_key,
|
| - mojo::Array<mojom::CdmKeyInformationPtr> keys_info) {
|
| + std::vector<mojom::CdmKeyInformationPtr> keys_info) {
|
| DVLOG(2) << __FUNCTION__;
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| @@ -283,7 +280,7 @@ void MojoCdm::OnSessionKeysChange(
|
| std::move(key_data));
|
| }
|
|
|
| -void MojoCdm::OnSessionExpirationUpdate(const mojo::String& session_id,
|
| +void MojoCdm::OnSessionExpirationUpdate(const std::string& session_id,
|
| double new_expiry_time_sec) {
|
| DVLOG(2) << __FUNCTION__;
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| @@ -325,4 +322,23 @@ void MojoCdm::OnKeyAdded() {
|
| decryptor_->OnKeyAdded();
|
| }
|
|
|
| +void MojoCdm::OnSimpleCdmPromiseResult(
|
| + std::unique_ptr<SimpleCdmPromise> promise,
|
| + mojom::CdmPromiseResultPtr result) {
|
| + if (result->success)
|
| + promise->resolve();
|
| + else
|
| + RejectPromise(std::move(promise), std::move(result));
|
| +}
|
| +
|
| +void MojoCdm::OnNewSessionCdmPromiseResult(
|
| + std::unique_ptr<NewSessionCdmPromise> promise,
|
| + mojom::CdmPromiseResultPtr result,
|
| + const std::string& session_id) {
|
| + if (result->success)
|
| + promise->resolve(session_id);
|
| + else
|
| + RejectPromise(std::move(promise), std::move(result));
|
| +}
|
| +
|
| } // namespace media
|
|
|