From 2bce7e8a9f357e8ee51fa442ab50e30ffc7bb440 Mon Sep 17 00:00:00 2001 From: Xiaohan Wang Date: Wed, 18 Nov 2015 11:32:01 -0800 Subject: [PATCH] media: Post task in MediaDrmBridge::OnSessionExpirationUpdate(). This was missed in https://codereview.chromium.org/1414923004/ BUG=546108 Review URL: https://codereview.chromium.org/1455723002 Cr-Commit-Position: refs/heads/master@{#360152} (cherry picked from commit 457554d5c2ca104e22c6ecb34734ba2be9b1059c) Review URL: https://codereview.chromium.org/1461723002 . Cr-Commit-Position: refs/branch-heads/2564@{#38} Cr-Branched-From: 1283eca15bd9f772387f75241576cde7bdec7f54-refs/heads/master@{#359700} --- media/base/android/media_drm_bridge.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/media/base/android/media_drm_bridge.cc b/media/base/android/media_drm_bridge.cc index 196672cf3a92a..dd2b7bdbf72b4 100644 --- a/media/base/android/media_drm_bridge.cc +++ b/media/base/android/media_drm_bridge.cc @@ -523,6 +523,7 @@ void MediaDrmBridge::SetMediaCryptoReadyCB( media_crypto_ready_cb_ = media_crypto_ready_cb; } +//------------------------------------------------------------------------------ // The following OnXxx functions are called from Java. The implementation must // only do minimal work and then post tasks to avoid reentrancy issues. @@ -654,9 +655,10 @@ void MediaDrmBridge::OnSessionExpirationUpdate(JNIEnv* env, jbyteArray j_session_id, jlong expiry_time_ms) { DVLOG(2) << __FUNCTION__ << ": " << expiry_time_ms << " ms"; - session_expiration_update_cb_.Run( - GetSessionId(env, j_session_id), - base::Time::FromDoubleT(expiry_time_ms / 1000.0)); + task_runner_->PostTask( + FROM_HERE, + base::Bind(session_expiration_update_cb_, GetSessionId(env, j_session_id), + base::Time::FromDoubleT(expiry_time_ms / 1000.0))); } void MediaDrmBridge::OnLegacySessionError(JNIEnv* env, @@ -683,6 +685,7 @@ void MediaDrmBridge::OnResetDeviceCredentialsCompleted(JNIEnv* env, base::Bind(base::ResetAndReturn(&reset_credentials_cb_), success)); } +//------------------------------------------------------------------------------ // The following are private methods. MediaDrmBridge::MediaDrmBridge(