Index: content/public/android/java/src/org/chromium/content/browser/MediaThrottler.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/MediaThrottler.java b/content/public/android/java/src/org/chromium/content/browser/MediaThrottler.java |
index 1895d6e1aa96ba70bb6bfb8bedf1d703e54bff6d..9992704b8715a703656c89d025a32896eeeb9b61 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/MediaThrottler.java |
+++ b/content/public/android/java/src/org/chromium/content/browser/MediaThrottler.java |
@@ -103,7 +103,11 @@ class MediaThrottler implements MediaPlayer.OnErrorListener { |
protected Void doInBackground(Void... voids) { |
synchronized (mLock) { |
if (mPlayer != null || mRequestCount == 0) return null; |
- mPlayer = MediaPlayer.create(mContext, R.raw.empty); |
+ try { |
Tima Vaisburd
2015/10/30 21:54:37
drive-by: The documentation does not seem to tell
qinmin
2015/10/30 21:58:16
if u check MediaPlayer.create(), it already catche
|
+ mPlayer = MediaPlayer.create(mContext, R.raw.empty); |
+ } catch (IllegalStateException e) { |
+ Log.e(TAG, "Exception happens while creating the watch dog player.", e); |
+ } |
if (mPlayer == null) { |
Log.e(TAG, "Unable to create watch dog player, treat it as server crash."); |
onMediaServerCrash(); |
@@ -131,7 +135,7 @@ class MediaThrottler implements MediaPlayer.OnErrorListener { |
return false; |
} |
mRequestCount++; |
- if (mRequestCount == 1) { |
+ if (mRequestCount == 1 || mPlayer == null) { |
mHandler.removeCallbacks(mDelayedReleaseRunnable); |
mHandler.post(new Runnable() { |
@Override |