| Index: media/mojo/services/mojo_cdm.cc
|
| diff --git a/media/mojo/services/mojo_cdm.cc b/media/mojo/services/mojo_cdm.cc
|
| index e7587115e5fc21681076d4f87d2063996121cc7e..cffc1bf5c9f6aba324fcc3a5a3577b7b7f3cd4ef 100644
|
| --- a/media/mojo/services/mojo_cdm.cc
|
| +++ b/media/mojo/services/mojo_cdm.cc
|
| @@ -24,6 +24,7 @@ static void RejectPromise(scoped_ptr<PromiseType> promise,
|
| }
|
|
|
| MojoCdm::MojoCdm(mojo::ContentDecryptionModulePtr remote_cdm,
|
| + int32_t cdm_id,
|
| const SessionMessageCB& session_message_cb,
|
| const SessionClosedCB& session_closed_cb,
|
| const LegacySessionErrorCB& legacy_session_error_cb,
|
| @@ -31,6 +32,7 @@ MojoCdm::MojoCdm(mojo::ContentDecryptionModulePtr remote_cdm,
|
| const SessionExpirationUpdateCB& session_expiration_update_cb)
|
| : remote_cdm_(remote_cdm.Pass()),
|
| binding_(this),
|
| + cdm_id_(cdm_id),
|
| session_message_cb_(session_message_cb),
|
| session_closed_cb_(session_closed_cb),
|
| legacy_session_error_cb_(legacy_session_error_cb),
|
| @@ -55,6 +57,7 @@ MojoCdm::~MojoCdm() {
|
|
|
| void MojoCdm::SetServerCertificate(const std::vector<uint8_t>& certificate,
|
| scoped_ptr<SimpleCdmPromise> promise) {
|
| + DVLOG(2) << __FUNCTION__;
|
| remote_cdm_->SetServerCertificate(
|
| mojo::Array<uint8_t>::From(certificate),
|
| base::Bind(&MojoCdm::OnPromiseResult<>, weak_factory_.GetWeakPtr(),
|
| @@ -66,6 +69,7 @@ void MojoCdm::CreateSessionAndGenerateRequest(
|
| EmeInitDataType init_data_type,
|
| const std::vector<uint8_t>& init_data,
|
| scoped_ptr<NewSessionCdmPromise> promise) {
|
| + DVLOG(2) << __FUNCTION__;
|
| remote_cdm_->CreateSessionAndGenerateRequest(
|
| static_cast<mojo::ContentDecryptionModule::SessionType>(session_type),
|
| static_cast<mojo::ContentDecryptionModule::InitDataType>(init_data_type),
|
| @@ -77,6 +81,7 @@ void MojoCdm::CreateSessionAndGenerateRequest(
|
| void MojoCdm::LoadSession(SessionType session_type,
|
| const std::string& session_id,
|
| scoped_ptr<NewSessionCdmPromise> promise) {
|
| + DVLOG(2) << __FUNCTION__;
|
| remote_cdm_->LoadSession(
|
| static_cast<mojo::ContentDecryptionModule::SessionType>(session_type),
|
| session_id,
|
| @@ -87,6 +92,7 @@ void MojoCdm::LoadSession(SessionType session_type,
|
| void MojoCdm::UpdateSession(const std::string& session_id,
|
| const std::vector<uint8_t>& response,
|
| scoped_ptr<SimpleCdmPromise> promise) {
|
| + DVLOG(2) << __FUNCTION__;
|
| remote_cdm_->UpdateSession(
|
| session_id, mojo::Array<uint8_t>::From(response),
|
| base::Bind(&MojoCdm::OnPromiseResult<>, weak_factory_.GetWeakPtr(),
|
| @@ -95,6 +101,7 @@ void MojoCdm::UpdateSession(const std::string& session_id,
|
|
|
| void MojoCdm::CloseSession(const std::string& session_id,
|
| scoped_ptr<SimpleCdmPromise> promise) {
|
| + DVLOG(2) << __FUNCTION__;
|
| remote_cdm_->CloseSession(session_id, base::Bind(&MojoCdm::OnPromiseResult<>,
|
| weak_factory_.GetWeakPtr(),
|
| base::Passed(&promise)));
|
| @@ -102,20 +109,32 @@ void MojoCdm::CloseSession(const std::string& session_id,
|
|
|
| void MojoCdm::RemoveSession(const std::string& session_id,
|
| scoped_ptr<SimpleCdmPromise> promise) {
|
| + DVLOG(2) << __FUNCTION__;
|
| remote_cdm_->RemoveSession(session_id, base::Bind(&MojoCdm::OnPromiseResult<>,
|
| weak_factory_.GetWeakPtr(),
|
| base::Passed(&promise)));
|
| }
|
|
|
| CdmContext* MojoCdm::GetCdmContext() {
|
| + DVLOG(2) << __FUNCTION__;
|
| + return this;
|
| +}
|
| +
|
| +media::Decryptor* MojoCdm::GetDecryptor() {
|
| NOTIMPLEMENTED();
|
| return nullptr;
|
| }
|
|
|
| +int MojoCdm::GetCdmId() const {
|
| + DVLOG(2) << __FUNCTION__ << cdm_id_;
|
| + return cdm_id_;
|
| +}
|
| +
|
| void MojoCdm::OnSessionMessage(const mojo::String& session_id,
|
| mojo::CdmMessageType message_type,
|
| mojo::Array<uint8_t> message,
|
| const mojo::String& legacy_destination_url) {
|
| + DVLOG(2) << __FUNCTION__;
|
| GURL verified_gurl = GURL(legacy_destination_url);
|
| if (!verified_gurl.is_valid() && !verified_gurl.is_empty()) {
|
| DLOG(WARNING) << "SessionMessage destination_url is invalid : "
|
| @@ -129,6 +148,7 @@ void MojoCdm::OnSessionMessage(const mojo::String& session_id,
|
| }
|
|
|
| void MojoCdm::OnSessionClosed(const mojo::String& session_id) {
|
| + DVLOG(2) << __FUNCTION__;
|
| session_closed_cb_.Run(session_id);
|
| }
|
|
|
| @@ -136,6 +156,7 @@ void MojoCdm::OnLegacySessionError(const mojo::String& session_id,
|
| mojo::CdmException exception,
|
| uint32_t system_code,
|
| const mojo::String& error_message) {
|
| + DVLOG(2) << __FUNCTION__;
|
| legacy_session_error_cb_.Run(session_id,
|
| static_cast<MediaKeys::Exception>(exception),
|
| system_code, error_message);
|
| @@ -145,6 +166,7 @@ void MojoCdm::OnSessionKeysChange(
|
| const mojo::String& session_id,
|
| bool has_additional_usable_key,
|
| mojo::Array<mojo::CdmKeyInformationPtr> keys_info) {
|
| + DVLOG(2) << __FUNCTION__;
|
| media::CdmKeysInfo key_data;
|
| key_data.reserve(keys_info.size());
|
| for (size_t i = 0; i < keys_info.size(); ++i) {
|
| @@ -157,6 +179,7 @@ void MojoCdm::OnSessionKeysChange(
|
|
|
| void MojoCdm::OnSessionExpirationUpdate(const mojo::String& session_id,
|
| double new_expiry_time_sec) {
|
| + DVLOG(2) << __FUNCTION__;
|
| session_expiration_update_cb_.Run(
|
| session_id, base::Time::FromDoubleT(new_expiry_time_sec));
|
| }
|
|
|