From 5a080e2207df7e50d22cbdb78ed89c33127a6bd4 Mon Sep 17 00:00:00 2001 From: Teng-Hui Zhu Date: Wed, 14 Mar 2012 13:28:58 -0700 Subject: Live streaming video may not have the right size at prepared The fix is add the OnVideoSizeChangedListener. bug:5420327 Change-Id: I1e0b371b8b95b86a1c0903f4bdb1d8f38de793b7 --- core/java/android/webkit/HTML5VideoFullScreen.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'core/java/android/webkit/HTML5VideoFullScreen.java') diff --git a/core/java/android/webkit/HTML5VideoFullScreen.java b/core/java/android/webkit/HTML5VideoFullScreen.java index fac549d757f3..730ad08db348 100644 --- a/core/java/android/webkit/HTML5VideoFullScreen.java +++ b/core/java/android/webkit/HTML5VideoFullScreen.java @@ -112,6 +112,18 @@ public class HTML5VideoFullScreen extends HTML5VideoView } }; + MediaPlayer.OnVideoSizeChangedListener mSizeChangedListener = + new MediaPlayer.OnVideoSizeChangedListener() { + @Override + public void onVideoSizeChanged(MediaPlayer mp, int width, int height) { + mVideoWidth = mp.getVideoWidth(); + mVideoHeight = mp.getVideoHeight(); + if (mVideoWidth != 0 && mVideoHeight != 0) { + mVideoSurfaceView.getHolder().setFixedSize(mVideoWidth, mVideoHeight); + } + } + }; + private SurfaceView getSurfaceView() { return mVideoSurfaceView; } @@ -150,6 +162,7 @@ public class HTML5VideoFullScreen extends HTML5VideoView mc.setSystemUiVisibility(mLayout.getSystemUiVisibility()); setMediaController(mc); mPlayer.setScreenOnWhilePlaying(true); + mPlayer.setOnVideoSizeChangedListener(mSizeChangedListener); prepareDataAndDisplayMode(mProxy); } -- cgit v1.2.3