summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorqinmin <qinmin@chromium.org>2014-12-04 19:28:23 -0800
committerCommit bot <commit-bot@chromium.org>2014-12-05 03:28:49 +0000
commita48d452b6b319946563ca11bc80027de88d6335f (patch)
tree4bbbb03af2c4c2f880d8d4d49f43374c3d760292
parent4090dafbb5873fe6a8f163b09fd777c0b65aca08 (diff)
downloadchromium_src-a48d452b6b319946563ca11bc80027de88d6335f.zip
chromium_src-a48d452b6b319946563ca11bc80027de88d6335f.tar.gz
chromium_src-a48d452b6b319946563ca11bc80027de88d6335f.tar.bz2
Don't get metadata for HLS streams
MediaMetadataRetriever doesn't support HLS, so we should just return an empty metadata. internal b/18228893 Review URL: https://codereview.chromium.org/783563003 Cr-Commit-Position: refs/heads/master@{#306968}
-rw-r--r--content/public/android/java/src/org/chromium/content/browser/MediaResourceGetter.java43
1 files changed, 23 insertions, 20 deletions
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 43427bd..71bd333 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
@@ -242,26 +242,29 @@ class MediaResourceGetter {
Log.e(TAG, "Error configuring data source", e);
return false;
}
- } else {
- final String host = uri.getHost();
- if (!isLoopbackAddress(host) && !isNetworkReliable(context)) {
- Log.w(TAG, "non-file URI can't be read due to unsuitable network conditions");
- return false;
- }
- Map<String, String> headersMap = new HashMap<String, String>();
- if (!TextUtils.isEmpty(cookies)) {
- headersMap.put("Cookie", cookies);
- }
- if (!TextUtils.isEmpty(userAgent)) {
- headersMap.put("User-Agent", userAgent);
- }
- try {
- configure(url, headersMap);
- return true;
- } catch (RuntimeException e) {
- Log.e(TAG, "Error configuring data source", e);
- return false;
- }
+ }
+ if (uri.getPath() != null && uri.getPath().endsWith(".m3u8")) {
+ // MediaMetadataRetriever does not work with HLS correctly.
+ return false;
+ }
+ final String host = uri.getHost();
+ if (!isLoopbackAddress(host) && !isNetworkReliable(context)) {
+ Log.w(TAG, "non-file URI can't be read due to unsuitable network conditions");
+ return false;
+ }
+ Map<String, String> headersMap = new HashMap<String, String>();
+ if (!TextUtils.isEmpty(cookies)) {
+ headersMap.put("Cookie", cookies);
+ }
+ if (!TextUtils.isEmpty(userAgent)) {
+ headersMap.put("User-Agent", userAgent);
+ }
+ try {
+ configure(url, headersMap);
+ return true;
+ } catch (RuntimeException e) {
+ Log.e(TAG, "Error configuring data source", e);
+ return false;
}
}