Index: media/base/android/media_player_bridge.cc |
diff --git a/media/base/android/media_player_bridge.cc b/media/base/android/media_player_bridge.cc |
index 31be6c019135b8fe1e6b704d5384e25ccf2f4681..22569cb113a0ad09208581aecb818af31199ad3e 100644 |
--- a/media/base/android/media_player_bridge.cc |
+++ b/media/base/android/media_player_bridge.cc |
@@ -18,7 +18,10 @@ using base::android::ConvertUTF8ToJavaString; |
using base::android::ScopedJavaLocalRef; |
// Time update happens every 250ms. |
-static const int kTimeUpdateInterval = 250; |
+const int kTimeUpdateInterval = 250; |
+ |
+// blob url scheme. |
+const char kBlobScheme[] = "blob"; |
namespace media { |
@@ -56,17 +59,16 @@ MediaPlayerBridge::~MediaPlayerBridge() { |
} |
void MediaPlayerBridge::Initialize() { |
+ cookies_.clear(); |
if (url_.SchemeIsFile()) { |
- cookies_.clear(); |
ExtractMediaMetadata(url_.spec()); |
return; |
} |
media::MediaResourceGetter* resource_getter = |
manager()->GetMediaResourceGetter(); |
- if (url_.SchemeIsFileSystem()) { |
- cookies_.clear(); |
- resource_getter->GetPlatformPathFromFileSystemURL(url_, base::Bind( |
+ if (url_.SchemeIsFileSystem() || url_.SchemeIs(kBlobScheme)) { |
+ resource_getter->GetPlatformPathFromURL(url_, base::Bind( |
&MediaPlayerBridge::ExtractMediaMetadata, weak_this_.GetWeakPtr())); |
return; |
} |
@@ -128,13 +130,14 @@ void MediaPlayerBridge::SetVideoSurface(gfx::ScopedJavaSurface surface) { |
void MediaPlayerBridge::Prepare() { |
DCHECK(j_media_player_bridge_.is_null()); |
CreateJavaMediaPlayerBridge(); |
- if (url_.SchemeIsFileSystem()) { |
- manager()->GetMediaResourceGetter()->GetPlatformPathFromFileSystemURL( |
- url_, base::Bind(&MediaPlayerBridge::SetDataSource, |
- weak_this_.GetWeakPtr())); |
- } else { |
- SetDataSource(url_.spec()); |
+ if (url_.SchemeIsFileSystem() || url_.SchemeIs(kBlobScheme)) { |
+ manager()->GetMediaResourceGetter()->GetPlatformPathFromURL( |
+ url_, base::Bind(&MediaPlayerBridge::SetDataSource, |
+ weak_this_.GetWeakPtr())); |
+ return; |
} |
+ |
+ SetDataSource(url_.spec()); |
} |
void MediaPlayerBridge::SetDataSource(const std::string& url) { |