Index: content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java b/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java |
index f7b7cd3a4503f34883bff2209fd0bde8ba8d4f9c..8a79d4d03e0d1c6c5245a75758b996a4a837b58f 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java |
+++ b/content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java |
@@ -10,6 +10,7 @@ import android.content.pm.PackageManager; |
import android.media.MediaMetadataRetriever; |
import android.net.ConnectivityManager; |
import android.net.NetworkInfo; |
+import android.net.Uri; |
import android.os.ParcelFileDescriptor; |
import android.text.TextUtils; |
@@ -228,6 +229,15 @@ class MediaResourceGetter { |
return false; |
} |
} |
+ if (scheme.equals("content")) { |
+ try { |
+ configure(context, Uri.parse(uri.toString())); |
+ return true; |
+ } catch (RuntimeException e) { |
+ Log.e(TAG, "Error configuring data source: %s", e.getMessage()); |
qinmin
2016/01/25 18:58:56
nit: you can simply do Log.e(TAG, "Error configuri
horo
2016/01/25 22:58:41
Done.
|
+ return false; |
+ } |
+ } |
if (uri.getPath() != null && uri.getPath().endsWith(".m3u8")) { |
// MediaMetadataRetriever does not work with HLS correctly. |
return false; |
@@ -397,6 +407,10 @@ class MediaResourceGetter { |
mRetriever.setDataSource(path); |
} |
+ void configure(Context context, Uri uri) { |
+ mRetriever.setDataSource(context, uri); |
+ } |
+ |
@VisibleForTesting |
String extractMetadata(int key) { |
return mRetriever.extractMetadata(key); |