summaryrefslogtreecommitdiff
path: root/core/java/android/webkit/HTML5VideoView.java
diff options
context:
space:
mode:
authorTeng-Hui Zhu <ztenghui@google.com>2012-07-09 15:54:32 -0700
committerTeng-Hui Zhu <ztenghui@google.com>2012-07-10 15:11:38 -0700
commit156f97b6c8580b790600b09b679b9dab8b271c5d (patch)
tree75b9f9309edefd99b1078f50dde2c4e51995d8c7 /core/java/android/webkit/HTML5VideoView.java
parent4461f6028df664009c707b3dc1815b789171f4dc (diff)
Release the media player when trimming memory
Change-Id: I2bb2880546311761fc38d6208de080a66216fa2f
Diffstat (limited to 'core/java/android/webkit/HTML5VideoView.java')
-rw-r--r--core/java/android/webkit/HTML5VideoView.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/core/java/android/webkit/HTML5VideoView.java b/core/java/android/webkit/HTML5VideoView.java
index 610808bde47f..96d824888d29 100644
--- a/core/java/android/webkit/HTML5VideoView.java
+++ b/core/java/android/webkit/HTML5VideoView.java
@@ -35,6 +35,7 @@ public class HTML5VideoView implements MediaPlayer.OnPreparedListener {
static final int STATE_PREPARED = 2;
static final int STATE_PLAYING = 3;
static final int STATE_RESETTED = 4;
+ static final int STATE_RELEASED = 5;
protected HTML5VideoViewProxy mProxy;
@@ -126,7 +127,7 @@ public class HTML5VideoView implements MediaPlayer.OnPreparedListener {
}
public void reset() {
- if (mCurrentState != STATE_RESETTED) {
+ if (mCurrentState < STATE_RESETTED) {
mPlayer.reset();
}
mCurrentState = STATE_RESETTED;
@@ -138,6 +139,18 @@ public class HTML5VideoView implements MediaPlayer.OnPreparedListener {
}
}
+ public static void release() {
+ if (mPlayer != null && mCurrentState != STATE_RELEASED) {
+ mPlayer.release();
+ mPlayer = null;
+ }
+ mCurrentState = STATE_RELEASED;
+ }
+
+ public boolean isReleased() {
+ return mCurrentState == STATE_RELEASED;
+ }
+
public boolean getPauseDuringPreparing() {
return mPauseDuringPreparing;
}