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 4ebde7dfbe42e12aeb1fe0d1f434d067d5642cc0..03cf683b738402940aa621163f9060e3143977c9 100644 |
--- a/media/base/android/media_player_bridge.cc |
+++ b/media/base/android/media_player_bridge.cc |
@@ -12,8 +12,8 @@ |
#include "base/message_loop_proxy.h" |
#include "jni/MediaPlayerBridge_jni.h" |
#include "jni/MediaPlayer_jni.h" |
-#include "media/base/android/cookie_getter.h" |
#include "media/base/android/media_player_bridge_manager.h" |
+#include "media/base/android/media_resource_getter.h" |
using base::android::AttachCurrentThread; |
using base::android::CheckException; |
@@ -47,7 +47,7 @@ MediaPlayerBridge::MediaPlayerBridge( |
int player_id, |
const std::string& url, |
const std::string& first_party_for_cookies, |
- CookieGetter* cookie_getter, |
+ MediaResourceGetter* resource_getter, |
bool hide_url_log, |
MediaPlayerBridgeManager* manager, |
const MediaErrorCB& media_error_cb, |
@@ -80,7 +80,7 @@ MediaPlayerBridge::MediaPlayerBridge( |
can_seek_forward_(true), |
can_seek_backward_(true), |
manager_(manager), |
- cookie_getter_(cookie_getter), |
+ resource_getter_(resource_getter), |
ALLOW_THIS_IN_INITIALIZER_LIST(weak_this_(this)), |
listener_(base::MessageLoopProxy::current(), |
weak_this_.GetWeakPtr()) {} |
@@ -119,7 +119,7 @@ void MediaPlayerBridge::Prepare() { |
if (has_cookies_) { |
GetCookiesCallback(cookies_); |
} else { |
- cookie_getter_->GetCookies(url_, first_party_for_cookies_, base::Bind( |
+ resource_getter_->GetCookies(url_, first_party_for_cookies_, base::Bind( |
&MediaPlayerBridge::GetCookiesCallback, weak_this_.GetWeakPtr())); |
} |
} |
@@ -127,6 +127,19 @@ void MediaPlayerBridge::Prepare() { |
void MediaPlayerBridge::GetCookiesCallback(const std::string& cookies) { |
cookies_ = cookies; |
has_cookies_ = true; |
+ |
+ if (j_media_player_.is_null()) |
+ return; |
+ |
+ if (StartsWithASCII(url_, "filesystem", false)) { |
+ resource_getter_->GetPlatformPathFromFileSystemURL(url_, base::Bind( |
+ &MediaPlayerBridge::SetDataSource, weak_this_.GetWeakPtr())); |
+ } else { |
+ SetDataSource(url_); |
+ } |
+} |
+ |
+void MediaPlayerBridge::SetDataSource(const std::string& url) { |
if (j_media_player_.is_null()) |
return; |
@@ -134,7 +147,7 @@ void MediaPlayerBridge::GetCookiesCallback(const std::string& cookies) { |
CHECK(env); |
// Create a Java String for the URL. |
- ScopedJavaLocalRef<jstring> j_url_string = ConvertUTF8ToJavaString(env, url_); |
+ ScopedJavaLocalRef<jstring> j_url_string = ConvertUTF8ToJavaString(env, url); |
ScopedJavaLocalRef<jstring> j_cookies = ConvertUTF8ToJavaString( |
env, cookies_); |