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()); |