summaryrefslogtreecommitdiffstats
path: root/core/java/android/widget
diff options
context:
space:
mode:
authorGloria Wang <gwang@google.com>2010-03-18 14:50:05 -0700
committerGloria Wang <gwang@google.com>2010-03-18 15:44:30 -0700
commit047212fd4ea360675e94d3ce83c7f5544f65b268 (patch)
treeb249aa43c4e8b17865941615b2744dcee69b92e4 /core/java/android/widget
parentceffa1597d574599cbaca71f5855a986b0857463 (diff)
downloadframeworks_base-047212fd4ea360675e94d3ce83c7f5544f65b268.zip
frameworks_base-047212fd4ea360675e94d3ce83c7f5544f65b268.tar.gz
frameworks_base-047212fd4ea360675e94d3ce83c7f5544f65b268.tar.bz2
Release MediaPlayer if suspend() returns false.
Change-Id: Ic6467a19bac453b72b56294487c9b835b20affd7
Diffstat (limited to 'core/java/android/widget')
-rw-r--r--core/java/android/widget/VideoView.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/core/java/android/widget/VideoView.java b/core/java/android/widget/VideoView.java
index ded0559..531d9fe 100644
--- a/core/java/android/widget/VideoView.java
+++ b/core/java/android/widget/VideoView.java
@@ -64,6 +64,7 @@ public class VideoView extends SurfaceView implements MediaPlayerControl {
private static final int STATE_PLAYBACK_COMPLETED = 5;
private static final int STATE_SUSPEND = 6;
private static final int STATE_RESUME = 7;
+ private static final int STATE_SUSPEND_UNSUPPORTED = 8;
// mCurrentState is a VideoView object's current state.
// mTargetState is the state that a method caller intends to reach.
@@ -586,8 +587,9 @@ public class VideoView extends SurfaceView implements MediaPlayerControl {
mCurrentState = STATE_SUSPEND;
mTargetState = STATE_SUSPEND;
} else {
- Log.w(TAG, "Unable to suspend video");
- mErrorListener.onError(mMediaPlayer, MediaPlayer.MEDIA_ERROR_UNKNOWN, 0);
+ release(false);
+ mCurrentState = STATE_SUSPEND_UNSUPPORTED;
+ Log.w(TAG, "Unable to suspend video. Release MediaPlayer.");
}
}
}
@@ -603,8 +605,11 @@ public class VideoView extends SurfaceView implements MediaPlayerControl {
mTargetState = mStateWhenSuspended;
} else {
Log.w(TAG, "Unable to resume video");
- mErrorListener.onError(mMediaPlayer, MediaPlayer.MEDIA_ERROR_UNKNOWN, 0);
}
+ return;
+ }
+ if (mCurrentState == STATE_SUSPEND_UNSUPPORTED) {
+ openVideo();
}
}