diff options
| author | Teng-Hui Zhu <ztenghui@google.com> | 2012-01-18 15:25:51 -0800 |
|---|---|---|
| committer | Teng-Hui Zhu <ztenghui@google.com> | 2012-01-18 15:53:01 -0800 |
| commit | 96fae5e088916e1da8d4afaf40758ceec6e7187a (patch) | |
| tree | a7ce5292b913fd9be3083da14658c772b8b46861 /core/java/android/webkit/HTML5VideoView.java | |
| parent | d7678a1684966cac10717b34b161b5241b9865c5 (diff) | |
Support full screen back to back playing using javascript
bug:5766427
Change-Id: I0117e50a3e547ac8c33cf966bef18e6d75f98660
Diffstat (limited to 'core/java/android/webkit/HTML5VideoView.java')
| -rw-r--r-- | core/java/android/webkit/HTML5VideoView.java | 44 |
1 files changed, 31 insertions, 13 deletions
diff --git a/core/java/android/webkit/HTML5VideoView.java b/core/java/android/webkit/HTML5VideoView.java index 1d8bda7d9388..73166cb90b92 100644 --- a/core/java/android/webkit/HTML5VideoView.java +++ b/core/java/android/webkit/HTML5VideoView.java @@ -194,20 +194,9 @@ public class HTML5VideoView implements MediaPlayer.OnPreparedListener { mPlayer.setOnInfoListener(proxy); } - // Normally called immediately after setVideoURI. But for full screen, - // this should be after surface holder created - public void prepareDataAndDisplayMode(HTML5VideoViewProxy proxy) { - // SurfaceTexture will be created lazily here for inline mode - decideDisplayMode(); - - setOnCompletionListener(proxy); - setOnPreparedListener(proxy); - setOnErrorListener(proxy); - setOnInfoListener(proxy); - // When there is exception, we could just bail out silently. - // No Video will be played though. Write the stack for debug + public void prepareDataCommon(HTML5VideoViewProxy proxy) { try { - mPlayer.setDataSource(mProxy.getContext(), mUri, mHeaders); + mPlayer.setDataSource(proxy.getContext(), mUri, mHeaders); mPlayer.prepareAsync(); } catch (IllegalArgumentException e) { e.printStackTrace(); @@ -219,6 +208,25 @@ public class HTML5VideoView implements MediaPlayer.OnPreparedListener { mCurrentState = STATE_NOTPREPARED; } + public void reprepareData(HTML5VideoViewProxy proxy) { + mPlayer.reset(); + prepareDataCommon(proxy); + } + + // Normally called immediately after setVideoURI. But for full screen, + // this should be after surface holder created + public void prepareDataAndDisplayMode(HTML5VideoViewProxy proxy) { + // SurfaceTexture will be created lazily here for inline mode + decideDisplayMode(); + + setOnCompletionListener(proxy); + setOnPreparedListener(proxy); + setOnErrorListener(proxy); + setOnInfoListener(proxy); + + prepareDataCommon(proxy); + } + // Common code public int getVideoLayerId() { @@ -324,4 +332,14 @@ public class HTML5VideoView implements MediaPlayer.OnPreparedListener { return false; } + private boolean m_startWhenPrepared = false; + + public void setStartWhenPrepared(boolean willPlay) { + m_startWhenPrepared = willPlay; + } + + public boolean getStartWhenPrepared() { + return m_startWhenPrepared; + } + } |
