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

Unified Diff: media/base/android/android_cdm_factory.cc

Issue 2823513002: [Clank] Load origin id before create MediaDrmBridge (Closed)
Patch Set: Test Created 3 years, 8 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/base/android/android_cdm_factory.cc
diff --git a/media/base/android/android_cdm_factory.cc b/media/base/android/android_cdm_factory.cc
index 08a43b852a4e1cf8a50af3ee816b92fc7010edf8..c7d111afb2b8d8214be90cb465c13c5c3a9b1f2e 100644
--- a/media/base/android/android_cdm_factory.cc
+++ b/media/base/android/android_cdm_factory.cc
@@ -18,6 +18,24 @@
#include "url/gurl.h"
namespace media {
+namespace {
+void OnCdmCreated(const std::string& key_system,
+ MediaDrmBridge::SecurityLevel security_level,
+ const CdmCreatedCB& bound_cdm_created_cb,
+ scoped_refptr<MediaDrmBridge> cdm) {
+ if (!cdm) {
+ std::string error_message = "MediaDrmBridge cannot be created for " +
+ key_system + " with security level " +
+ base::IntToString(security_level);
+ LOG(ERROR) << error_message;
+ bound_cdm_created_cb.Run(nullptr, error_message);
+ return;
+ }
+
+ // Success!
+ bound_cdm_created_cb.Run(cdm, "");
+}
+} // namespace
AndroidCdmFactory::AndroidCdmFactory(const CreateFetcherCB& create_fetcher_cb,
const CreateStorageCB& create_storage_cb)
@@ -80,20 +98,12 @@ void AndroidCdmFactory::Create(
return;
}
- scoped_refptr<MediaDrmBridge> cdm(MediaDrmBridge::Create(
- key_system, security_origin, security_level, create_fetcher_cb_,
- create_storage_cb_, session_message_cb, session_closed_cb,
- session_keys_change_cb, session_expiration_update_cb));
- if (!cdm) {
- error_message = "MediaDrmBridge cannot be created for " + key_system +
- " with security level " + base::IntToString(security_level);
- LOG(ERROR) << error_message;
- bound_cdm_created_cb.Run(nullptr, error_message);
- return;
- }
-
- // Success!
- bound_cdm_created_cb.Run(cdm, "");
+ MediaDrmBridge::Create(key_system, security_origin, security_level,
+ create_fetcher_cb_, create_storage_cb_,
+ session_message_cb, session_closed_cb,
+ session_keys_change_cb, session_expiration_update_cb,
+ base::BindOnce(&OnCdmCreated, key_system,
+ security_level, bound_cdm_created_cb));
xhwang 2017/05/03 06:00:55 nit: no need to use bound_cdm_created_cb here sinc
yucliu1 2017/05/03 06:33:49 The callback should be bound in some cases, e.g. o
yucliu1 2017/05/10 20:41:38 After looking at the logic inside MediaDrmBridge,
}
} // namespace media

Powered by Google App Engine
This is Rietveld 408576698