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

Unified Diff: media/mojo/clients/mojo_cdm.cc

Issue 2411573002: media: Use new wrapper types for media mojo interfaces (Closed)
Patch Set: media: Use new wrapper types for media mojo interfaces Created 4 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
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) {
jrummell 2016/10/11 22:25:21 const & ?
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

Powered by Google App Engine
This is Rietveld 408576698