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

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: Created 7 years 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 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) {

Powered by Google App Engine
This is Rietveld 408576698