summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2017-08-31 02:50:04 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-08-31 02:50:04 +0000
commit52700a9795f9845dc9b3d506c19b5a8194a62ab0 (patch)
treecf9334dd366d1d9bdff911007b2b3cd92a1ee477
parent089923612995ab289d49c023d01bc18c17527403 (diff)
parente8b4c97bdfbd54c014efa1ba2d89cf696a285330 (diff)
Merge "At STARTED_AS_NEXT, offload MediaPlayer.start() to a separate thread" into oc-mr1-dev
-rw-r--r--media/java/android/media/MediaPlayer.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java
index 5a16c36545c8..0d99473c69b9 100644
--- a/media/java/android/media/MediaPlayer.java
+++ b/media/java/android/media/MediaPlayer.java
@@ -3408,7 +3408,7 @@ public class MediaPlayer extends PlayerBase
private static void postEventFromNative(Object mediaplayer_ref,
int what, int arg1, int arg2, Object obj)
{
- MediaPlayer mp = (MediaPlayer)((WeakReference)mediaplayer_ref).get();
+ final MediaPlayer mp = (MediaPlayer)((WeakReference)mediaplayer_ref).get();
if (mp == null) {
return;
}
@@ -3416,8 +3416,14 @@ public class MediaPlayer extends PlayerBase
switch (what) {
case MEDIA_INFO:
if (arg1 == MEDIA_INFO_STARTED_AS_NEXT) {
- // this acquires the wakelock if needed, and sets the client side state
- mp.start();
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ // this acquires the wakelock if needed, and sets the client side state
+ mp.start();
+ }
+ }).start();
+ Thread.yield();
}
break;