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

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

Issue 604283003: Refactor CdmPromise and related classes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase + override Created 6 years, 2 months 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/aes_decryptor_unittest.cc ('k') | media/filters/pipeline_integration_test.cc » ('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 a49b6c24595348f9c6a5f3771baa472cf3d7b440..84a6a3142659406e74136aee267a97720d99d29d 100644
--- a/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
+++ b/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
@@ -14,7 +14,7 @@
#include "base/debug/trace_event.h"
#include "base/logging.h"
#include "base/time/time.h"
-#include "media/base/cdm_promise.h"
+#include "media/base/cdm_callback_promise.h"
#include "media/base/decoder_buffer.h"
#include "media/base/decrypt_config.h"
#include "media/cdm/json_web_key.h"
@@ -248,12 +248,13 @@ void ClearKeyCdm::CreateSession(uint32 promise_id,
DVLOG(1) << __FUNCTION__;
scoped_ptr<media::NewSessionCdmPromise> promise(
- new media::NewSessionCdmPromise(base::Bind(&ClearKeyCdm::OnSessionCreated,
- base::Unretained(this),
- promise_id),
- base::Bind(&ClearKeyCdm::OnPromiseFailed,
- base::Unretained(this),
- promise_id)));
+ new media::CdmCallbackPromise<std::string>(
+ base::Bind(&ClearKeyCdm::OnSessionCreated,
+ base::Unretained(this),
+ promise_id),
+ base::Bind(&ClearKeyCdm::OnPromiseFailed,
+ base::Unretained(this),
+ promise_id)));
decryptor_.CreateSession(std::string(init_data_type, init_data_type_size),
init_data,
init_data_size,
@@ -285,12 +286,13 @@ void ClearKeyCdm::LoadSession(uint32 promise_id,
}
scoped_ptr<media::NewSessionCdmPromise> promise(
- new media::NewSessionCdmPromise(base::Bind(&ClearKeyCdm::OnSessionLoaded,
- base::Unretained(this),
- promise_id),
- base::Bind(&ClearKeyCdm::OnPromiseFailed,
- base::Unretained(this),
- promise_id)));
+ new media::CdmCallbackPromise<std::string>(
+ base::Bind(&ClearKeyCdm::OnSessionLoaded,
+ base::Unretained(this),
+ promise_id),
+ base::Bind(&ClearKeyCdm::OnPromiseFailed,
+ base::Unretained(this),
+ promise_id)));
decryptor_.CreateSession(std::string(kLoadableSessionContentType),
NULL,
0,
@@ -306,7 +308,7 @@ void ClearKeyCdm::UpdateSession(uint32 promise_id,
DVLOG(1) << __FUNCTION__;
std::string web_session_str(web_session_id, web_session_id_length);
- scoped_ptr<media::SimpleCdmPromise> promise(new media::SimpleCdmPromise(
+ scoped_ptr<media::SimpleCdmPromise> promise(new media::CdmCallbackPromise<>(
base::Bind(&ClearKeyCdm::OnSessionUpdated,
base::Unretained(this),
promise_id,
@@ -328,7 +330,7 @@ void ClearKeyCdm::CloseSession(uint32 promise_id,
DVLOG(1) << __FUNCTION__;
std::string web_session_str(web_session_id, web_session_id_length);
- scoped_ptr<media::SimpleCdmPromise> promise(new media::SimpleCdmPromise(
+ scoped_ptr<media::SimpleCdmPromise> promise(new media::CdmCallbackPromise<>(
base::Bind(
&ClearKeyCdm::OnPromiseResolved, base::Unretained(this), promise_id),
base::Bind(
@@ -347,13 +349,13 @@ void ClearKeyCdm::RemoveSession(uint32 promise_id,
if (is_persistent_session) {
std::string web_session_str(web_session_id, web_session_id_length);
- scoped_ptr<media::SimpleCdmPromise> promise(
- new media::SimpleCdmPromise(base::Bind(&ClearKeyCdm::OnPromiseResolved,
- base::Unretained(this),
- promise_id),
- base::Bind(&ClearKeyCdm::OnPromiseFailed,
- base::Unretained(this),
- promise_id)));
+ scoped_ptr<media::SimpleCdmPromise> promise(new media::CdmCallbackPromise<>(
+ base::Bind(&ClearKeyCdm::OnPromiseResolved,
+ base::Unretained(this),
+ promise_id),
+ base::Bind(&ClearKeyCdm::OnPromiseFailed,
+ base::Unretained(this),
+ promise_id)));
decryptor_.RemoveSession(web_session_str, promise.Pass());
} else {
// TODO(jrummell): This should be a DCHECK once blink does the proper
@@ -378,12 +380,14 @@ void ClearKeyCdm::GetUsableKeyIds(uint32_t promise_id,
const char* web_session_id,
uint32_t web_session_id_length) {
std::string web_session_str(web_session_id, web_session_id_length);
- scoped_ptr<media::KeyIdsPromise> promise(new media::KeyIdsPromise(
- base::Bind(&ClearKeyCdm::OnUsableKeyIdsObtained,
- base::Unretained(this),
- promise_id),
- base::Bind(
- &ClearKeyCdm::OnPromiseFailed, base::Unretained(this), promise_id)));
+ scoped_ptr<media::KeyIdsPromise> promise(
+ new media::CdmCallbackPromise<KeyIdsVector>(
+ base::Bind(&ClearKeyCdm::OnUsableKeyIdsObtained,
+ base::Unretained(this),
+ promise_id),
+ base::Bind(&ClearKeyCdm::OnPromiseFailed,
+ base::Unretained(this),
+ promise_id)));
decryptor_.GetUsableKeyIds(web_session_str, promise.Pass());
}
@@ -660,7 +664,7 @@ void ClearKeyCdm::LoadLoadableSession() {
sizeof(kLoadableSessionKeyId) - 1);
// TODO(xhwang): This triggers OnSessionUpdated(). For prefixed EME support,
// this is okay. Check WD EME support.
- scoped_ptr<media::SimpleCdmPromise> promise(new media::SimpleCdmPromise(
+ scoped_ptr<media::SimpleCdmPromise> promise(new media::CdmCallbackPromise<>(
base::Bind(&ClearKeyCdm::OnSessionUpdated,
base::Unretained(this),
promise_id_for_emulated_loadsession_,
« no previous file with comments | « media/cdm/aes_decryptor_unittest.cc ('k') | media/filters/pipeline_integration_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698