diff options
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; } |
