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_, |