Chromium Code Reviews| 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); |