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..5963c4d8896a8bd6ccdb5d940dd19199597bf12e 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; |
@@ -33,7 +34,7 @@ import java.util.Map; |
@JNINamespace("content") |
class MediaResourceGetter { |
- private static final String TAG = "cr.MediaResourceGetter"; |
+ private static final String TAG = "cr_MediaResource"; |
private static final MediaMetadata EMPTY_METADATA = new MediaMetadata(0, 0, 0, false); |
private final MediaMetadataRetriever mRetriever = new MediaMetadataRetriever(); |
@@ -195,7 +196,7 @@ class MediaResourceGetter { |
Log.d(TAG, "extracted valid metadata: %s", result); |
return result; |
} catch (RuntimeException e) { |
- Log.e(TAG, "Unable to extract metadata: %s", e.getMessage()); |
+ Log.e(TAG, "Unable to extract metadata: %s", e); |
return EMPTY_METADATA; |
} |
} |
@@ -206,7 +207,7 @@ class MediaResourceGetter { |
try { |
uri = URI.create(url); |
} catch (IllegalArgumentException e) { |
- Log.e(TAG, "Cannot parse uri: %s", e.getMessage()); |
+ Log.e(TAG, "Cannot parse uri: %s", e); |
return false; |
} |
String scheme = uri.getScheme(); |
@@ -224,7 +225,16 @@ class MediaResourceGetter { |
configure(file.getAbsolutePath()); |
return true; |
} catch (RuntimeException e) { |
- Log.e(TAG, "Error configuring data source: %s", e.getMessage()); |
+ Log.e(TAG, "Error configuring data source: %s", e); |
+ 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); |
return false; |
} |
} |
@@ -248,7 +258,7 @@ class MediaResourceGetter { |
configure(url, headersMap); |
return true; |
} catch (RuntimeException e) { |
- Log.e(TAG, "Error configuring data source: %s", e.getMessage()); |
+ Log.e(TAG, "Error configuring data source: %s", e); |
return false; |
} |
} |
@@ -397,6 +407,10 @@ class MediaResourceGetter { |
mRetriever.setDataSource(path); |
} |
+ void configure(Context context, Uri uri) { |
Ted C
2016/01/26 21:49:02
this should be private since it is not used outsid
horo
2016/01/27 06:46:57
Done.
Added unit tests.
|
+ mRetriever.setDataSource(context, uri); |
+ } |
+ |
@VisibleForTesting |
String extractMetadata(int key) { |
return mRetriever.extractMetadata(key); |