From 64855da755e74676af49b3c7ece338acd72b2f3c Mon Sep 17 00:00:00 2001 From: Teng-Hui Zhu Date: Wed, 11 May 2011 11:04:40 -0700 Subject: [PATCH] Fix the Uri parsing issue Switching back to use the setDataSource with Uri, which can handle both the file and http path correctly. Change-Id: I5bfc1d01a8de0a4f8640ffceafbc17984833097a --- core/java/android/webkit/HTML5VideoView.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/java/android/webkit/HTML5VideoView.java b/core/java/android/webkit/HTML5VideoView.java index fd3f358731db2..c05498a0fb495 100644 --- a/core/java/android/webkit/HTML5VideoView.java +++ b/core/java/android/webkit/HTML5VideoView.java @@ -3,6 +3,7 @@ package android.webkit; import android.graphics.SurfaceTexture; import android.media.MediaPlayer; +import android.net.Uri; import android.util.Log; import android.view.SurfaceView; import android.webkit.HTML5VideoViewProxy; @@ -55,7 +56,7 @@ public class HTML5VideoView implements MediaPlayer.OnPreparedListener { protected boolean mAutostart; // We need to save such info. - protected String mUri; + protected Uri mUri; protected Map mHeaders; // The timer for timeupate events. @@ -172,7 +173,7 @@ public class HTML5VideoView implements MediaPlayer.OnPreparedListener { public void setVideoURI(String uri, HTML5VideoViewProxy proxy) { // When switching players, surface texture will be reused. - mUri = uri; + mUri = Uri.parse(uri); mHeaders = generateHeaders(uri, proxy); } @@ -207,7 +208,7 @@ public class HTML5VideoView implements MediaPlayer.OnPreparedListener { // When there is exception, we could just bail out silently. // No Video will be played though. Write the stack for debug try { - mPlayer.setDataSource(mUri, mHeaders); + mPlayer.setDataSource(mProxy.getContext(), mUri, mHeaders); mPlayer.prepareAsync(); } catch (IllegalArgumentException e) { e.printStackTrace();