| 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 286cf0d9f34a6de95822495519318529a072a973..539ddada9d53d4c50315b80fef3f3ce411fe9005 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));
|
| }
|
|
|
| } // namespace media
|
|
|