diff options
| author | Teng-Hui Zhu <ztenghui@google.com> | 2012-07-09 15:54:32 -0700 |
|---|---|---|
| committer | Teng-Hui Zhu <ztenghui@google.com> | 2012-07-10 15:11:38 -0700 |
| commit | 156f97b6c8580b790600b09b679b9dab8b271c5d (patch) | |
| tree | 75b9f9309edefd99b1078f50dde2c4e51995d8c7 /core/java/android/webkit/HTML5VideoView.java | |
| parent | 4461f6028df664009c707b3dc1815b789171f4dc (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.java | 15 |
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; } |
