| 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 125c6bf999ed6a9a4e51de0aeaa0a3a0a8e606b2..3cf454332274505ba59e62977b9144697ba4004a 100644
|
| --- a/media/base/android/media_player_bridge.cc
|
| +++ b/media/base/android/media_player_bridge.cc
|
| @@ -34,7 +34,9 @@ MediaPlayerBridge::MediaPlayerBridge(
|
| MediaPlayerManager* manager,
|
| const RequestMediaResourcesCB& request_media_resources_cb,
|
| const ReleaseMediaResourcesCB& release_media_resources_cb)
|
| - : MediaPlayerAndroid(player_id, manager, request_media_resources_cb,
|
| + : MediaPlayerAndroid(player_id,
|
| + manager,
|
| + request_media_resources_cb,
|
| release_media_resources_cb),
|
| prepared_(false),
|
| pending_play_(false),
|
| @@ -47,10 +49,10 @@ MediaPlayerBridge::MediaPlayerBridge(
|
| can_pause_(true),
|
| can_seek_forward_(true),
|
| can_seek_backward_(true),
|
| - weak_this_(this),
|
| - listener_(base::MessageLoopProxy::current(),
|
| - weak_this_.GetWeakPtr()),
|
| - is_surface_in_use_(false) {
|
| + is_surface_in_use_(false),
|
| + weak_factory_(this) {
|
| + listener_.reset(new MediaPlayerListener(base::MessageLoopProxy::current(),
|
| + weak_factory_.GetWeakPtr()));
|
| }
|
|
|
| MediaPlayerBridge::~MediaPlayerBridge() {
|
| @@ -72,13 +74,17 @@ void MediaPlayerBridge::Initialize() {
|
| media::MediaResourceGetter* resource_getter =
|
| manager()->GetMediaResourceGetter();
|
| if (url_.SchemeIsFileSystem() || url_.SchemeIs(kBlobScheme)) {
|
| - resource_getter->GetPlatformPathFromURL(url_, base::Bind(
|
| - &MediaPlayerBridge::ExtractMediaMetadata, weak_this_.GetWeakPtr()));
|
| + resource_getter->GetPlatformPathFromURL(
|
| + url_,
|
| + base::Bind(&MediaPlayerBridge::ExtractMediaMetadata,
|
| + weak_factory_.GetWeakPtr()));
|
| return;
|
| }
|
|
|
| - resource_getter->GetCookies(url_, first_party_for_cookies_, base::Bind(
|
| - &MediaPlayerBridge::OnCookiesRetrieved, weak_this_.GetWeakPtr()));
|
| + resource_getter->GetCookies(url_,
|
| + first_party_for_cookies_,
|
| + base::Bind(&MediaPlayerBridge::OnCookiesRetrieved,
|
| + weak_factory_.GetWeakPtr()));
|
| }
|
|
|
| void MediaPlayerBridge::CreateJavaMediaPlayerBridge() {
|
| @@ -110,7 +116,7 @@ void MediaPlayerBridge::SetMediaPlayerListener() {
|
| jobject j_context = base::android::GetApplicationContext();
|
| DCHECK(j_context);
|
|
|
| - listener_.CreateMediaPlayerListener(j_context, j_media_player_bridge_.obj());
|
| + listener_->CreateMediaPlayerListener(j_context, j_media_player_bridge_.obj());
|
| }
|
|
|
| void MediaPlayerBridge::SetDuration(base::TimeDelta duration) {
|
| @@ -136,8 +142,9 @@ void MediaPlayerBridge::Prepare() {
|
| CreateJavaMediaPlayerBridge();
|
| if (url_.SchemeIsFileSystem() || url_.SchemeIs(kBlobScheme)) {
|
| manager()->GetMediaResourceGetter()->GetPlatformPathFromURL(
|
| - url_, base::Bind(&MediaPlayerBridge::SetDataSource,
|
| - weak_this_.GetWeakPtr()));
|
| + url_,
|
| + base::Bind(&MediaPlayerBridge::SetDataSource,
|
| + weak_factory_.GetWeakPtr()));
|
| return;
|
| }
|
|
|
| @@ -201,9 +208,11 @@ void MediaPlayerBridge::OnCookiesRetrieved(const std::string& cookies) {
|
|
|
| void MediaPlayerBridge::ExtractMediaMetadata(const std::string& url) {
|
| manager()->GetMediaResourceGetter()->ExtractMediaMetadata(
|
| - url, cookies_, user_agent_,
|
| + url,
|
| + cookies_,
|
| + user_agent_,
|
| base::Bind(&MediaPlayerBridge::OnMediaMetadataExtracted,
|
| - weak_this_.GetWeakPtr()));
|
| + weak_factory_.GetWeakPtr()));
|
| }
|
|
|
| void MediaPlayerBridge::OnMediaMetadataExtracted(
|
| @@ -310,7 +319,7 @@ void MediaPlayerBridge::Release() {
|
| Java_MediaPlayerBridge_release(env, j_media_player_bridge_.obj());
|
| j_media_player_bridge_.Reset();
|
| release_media_resources_cb_.Run(player_id());
|
| - listener_.ReleaseMediaPlayerListenerResources();
|
| + listener_->ReleaseMediaPlayerListenerResources();
|
| }
|
|
|
| void MediaPlayerBridge::SetVolume(double volume) {
|
|
|