Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1104)

Unified Diff: media/cdm/ppapi/external_clear_key/clear_key_cdm.cc

Issue 1407933010: media: Make MediaKeys ref-counted. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase only Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/cdm/ppapi/external_clear_key/clear_key_cdm.h ('k') | media/cdm/proxy_decryptor.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
diff --git a/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc b/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
index 4533f3959f03738706c51608c5c1efe166c7e481..f6c77815303af428b5a131b4fa5e5915b4234691 100644
--- a/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
+++ b/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
@@ -267,12 +267,12 @@ namespace media {
ClearKeyCdm::ClearKeyCdm(ClearKeyCdmHost* host,
const std::string& key_system,
const GURL& origin)
- : decryptor_(
+ : decryptor_(new AesDecryptor(
origin,
base::Bind(&ClearKeyCdm::OnSessionMessage, base::Unretained(this)),
base::Bind(&ClearKeyCdm::OnSessionClosed, base::Unretained(this)),
base::Bind(&ClearKeyCdm::OnSessionKeysChange,
- base::Unretained(this))),
+ base::Unretained(this)))),
host_(host),
key_system_(key_system),
has_received_keys_change_event_for_emulated_loadsession_(false),
@@ -311,7 +311,7 @@ void ClearKeyCdm::CreateSessionAndGenerateRequest(
base::Bind(&ClearKeyCdm::OnPromiseFailed,
base::Unretained(this),
promise_id)));
- decryptor_.CreateSessionAndGenerateRequest(
+ decryptor_->CreateSessionAndGenerateRequest(
ConvertSessionType(session_type), ConvertInitDataType(init_data_type),
std::vector<uint8_t>(init_data, init_data + init_data_size),
promise.Pass());
@@ -347,7 +347,7 @@ void ClearKeyCdm::LoadSession(uint32 promise_id,
base::Bind(&ClearKeyCdm::OnPromiseFailed,
base::Unretained(this),
promise_id)));
- decryptor_.CreateSessionAndGenerateRequest(
+ decryptor_->CreateSessionAndGenerateRequest(
MediaKeys::TEMPORARY_SESSION, EmeInitDataType::WEBM,
std::vector<uint8_t>(), promise.Pass());
}
@@ -369,7 +369,7 @@ void ClearKeyCdm::UpdateSession(uint32 promise_id,
promise_id),
base::Bind(&ClearKeyCdm::OnPromiseFailed, base::Unretained(this),
promise_id)));
- decryptor_.UpdateSession(
+ decryptor_->UpdateSession(
web_session_str, std::vector<uint8_t>(response, response + response_size),
promise.Pass());
@@ -394,7 +394,7 @@ void ClearKeyCdm::CloseSession(uint32 promise_id,
&ClearKeyCdm::OnPromiseResolved, base::Unretained(this), promise_id),
base::Bind(
&ClearKeyCdm::OnPromiseFailed, base::Unretained(this), promise_id)));
- decryptor_.CloseSession(web_session_str, promise.Pass());
+ decryptor_->CloseSession(web_session_str, promise.Pass());
}
void ClearKeyCdm::RemoveSession(uint32 promise_id,
@@ -423,7 +423,7 @@ void ClearKeyCdm::RemoveSession(uint32 promise_id,
promise_id),
base::Bind(&ClearKeyCdm::OnPromiseFailed, base::Unretained(this),
promise_id)));
- decryptor_.RemoveSession(web_session_str, promise.Pass());
+ decryptor_->RemoveSession(web_session_str, promise.Pass());
}
void ClearKeyCdm::SetServerCertificate(uint32 promise_id,
@@ -671,9 +671,8 @@ cdm::Status ClearKeyCdm::DecryptToMediaDecoderBuffer(
media::Decryptor::Status status = media::Decryptor::kError;
// The AesDecryptor does not care what the stream type is. Pass kVideo
// for both audio and video decryption.
- decryptor_.Decrypt(
- media::Decryptor::kVideo,
- buffer,
+ decryptor_->Decrypt(
+ media::Decryptor::kVideo, buffer,
base::Bind(&CopyDecryptResults, &status, decrypted_buffer));
if (status == media::Decryptor::kError)
@@ -707,9 +706,9 @@ void ClearKeyCdm::LoadLoadableSession() {
base::Bind(&ClearKeyCdm::OnLoadSessionUpdated, base::Unretained(this)),
base::Bind(&ClearKeyCdm::OnPromiseFailed, base::Unretained(this),
promise_id_for_emulated_loadsession_)));
- decryptor_.UpdateSession(session_id_for_emulated_loadsession_,
- std::vector<uint8_t>(jwk_set.begin(), jwk_set.end()),
- promise.Pass());
+ decryptor_->UpdateSession(
+ session_id_for_emulated_loadsession_,
+ std::vector<uint8_t>(jwk_set.begin(), jwk_set.end()), promise.Pass());
}
void ClearKeyCdm::OnSessionMessage(const std::string& session_id,
« no previous file with comments | « media/cdm/ppapi/external_clear_key/clear_key_cdm.h ('k') | media/cdm/proxy_decryptor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698