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 0f79c13ad93f7283c014e2ed8e1d8a8cbb69a691..635a27d9a0b405168d3cf2370516a5fd61258639 100644 |
--- a/media/base/android/media_player_bridge.cc |
+++ b/media/base/android/media_player_bridge.cc |
@@ -20,6 +20,9 @@ using base::android::ScopedJavaLocalRef; |
// Time update happens every 250ms. |
static const int kTimeUpdateInterval = 250; |
+// blob url scheme. |
+static const char kBlobScheme[] = "blob"; |
xhwang
2014/01/14 17:57:40
nit: "static" isn't necessary. Global const variab
qinmin
2014/01/14 21:48:33
Done.
|
+ |
namespace media { |
MediaPlayerBridge::MediaPlayerBridge( |
@@ -55,17 +58,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; |
} |
@@ -127,13 +129,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) { |