Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1047)

Unified Diff: media/base/android/media_player_bridge.cc

Issue 98823003: Supporting blob urls for html5 media (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: addressing comments Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698