| Index: media/base/android/media_drm_bridge.cc
|
| diff --git a/media/base/android/media_drm_bridge.cc b/media/base/android/media_drm_bridge.cc
|
| index 5bb5901c639a8d168bc8ebfbfc5251669a44be7c..579e8ba389a8c648b2ffeeaaf5fd3d033d2e33c7 100644
|
| --- a/media/base/android/media_drm_bridge.cc
|
| +++ b/media/base/android/media_drm_bridge.cc
|
| @@ -25,6 +25,7 @@
|
| #include "base/sys_info.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "jni/MediaDrmBridge_jni.h"
|
| +#include "media/base/android/android_util.h"
|
| #include "media/base/android/media_codec_util.h"
|
| #include "media/base/android/media_drm_bridge_client.h"
|
| #include "media/base/android/media_drm_bridge_delegate.h"
|
| @@ -827,7 +828,7 @@ MediaDrmBridge::MediaDrmBridge(
|
| // Note: OnMediaCryptoReady() could be called in this call.
|
| j_media_drm_.Reset(Java_MediaDrmBridge_create(
|
| env, j_scheme_uuid, j_security_origin, j_security_level,
|
| - reinterpret_cast<intptr_t>(this)));
|
| + reinterpret_cast<intptr_t>(this), reinterpret_cast<intptr_t>(&storage_)));
|
| }
|
|
|
| MediaDrmBridge::~MediaDrmBridge() {
|
| @@ -868,16 +869,6 @@ MediaDrmBridge::SecurityLevel MediaDrmBridge::GetSecurityLevel() {
|
| return GetSecurityLevelFromString(security_level_str);
|
| }
|
|
|
| -// We have to use scoped_ptr to pass ScopedJavaGlobalRef with a callback.
|
| -// TODO(timav): Check whether we can simply pass j_media_crypto_->obj() in the
|
| -// callback.
|
| -MediaDrmBridge::JavaObjectPtr MediaDrmBridge::CreateJavaObjectPtr(
|
| - jobject object) {
|
| - JavaObjectPtr j_object_ptr(new ScopedJavaGlobalRef<jobject>());
|
| - j_object_ptr->Reset(AttachCurrentThread(), object);
|
| - return j_object_ptr;
|
| -}
|
| -
|
| void MediaDrmBridge::NotifyMediaCryptoReady(JavaObjectPtr j_media_crypto) {
|
| DCHECK(task_runner_->BelongsToCurrentThread());
|
| DCHECK(j_media_crypto);
|
| @@ -888,6 +879,9 @@ void MediaDrmBridge::NotifyMediaCryptoReady(JavaObjectPtr j_media_crypto) {
|
| if (media_crypto_ready_cb_.is_null())
|
| return;
|
|
|
| + // We have to use scoped_ptr to pass ScopedJavaGlobalRef with a callback.
|
| + // TODO(timav): Check whether we can simply pass j_media_crypto_->obj() in the
|
| + // callback.
|
| base::ResetAndReturn(&media_crypto_ready_cb_)
|
| .Run(CreateJavaObjectPtr(j_media_crypto_->obj()),
|
| IsProtectedSurfaceRequired());
|
|
|