summaryrefslogtreecommitdiff
path: root/core/java/android/webkit/HTML5VideoView.java
diff options
context:
space:
mode:
authorTeng-Hui Zhu <ztenghui@google.com>2012-01-18 15:25:51 -0800
committerTeng-Hui Zhu <ztenghui@google.com>2012-01-18 15:53:01 -0800
commit96fae5e088916e1da8d4afaf40758ceec6e7187a (patch)
treea7ce5292b913fd9be3083da14658c772b8b46861 /core/java/android/webkit/HTML5VideoView.java
parentd7678a1684966cac10717b34b161b5241b9865c5 (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.java44
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;
+ }
+
}