Index: content/browser/media/android/browser_media_player_manager.cc |
diff --git a/content/browser/media/android/browser_media_player_manager.cc b/content/browser/media/android/browser_media_player_manager.cc |
index c512f3163ecf2392fedbf0d263e91cd153389f00..48d9a7a72e3826f7530133031311321c3314113c 100644 |
--- a/content/browser/media/android/browser_media_player_manager.cc |
+++ b/content/browser/media/android/browser_media_player_manager.cc |
@@ -10,7 +10,6 @@ |
#include "content/browser/frame_host/render_frame_host_impl.h" |
#include "content/browser/media/android/browser_demuxer_android.h" |
#include "content/browser/media/android/media_resource_getter_impl.h" |
-#include "content/browser/media/android/media_session.h" |
#include "content/browser/media/android/media_throttler.h" |
#include "content/browser/media/android/media_web_contents_observer_android.h" |
#include "content/browser/renderer_host/render_view_host_impl.h" |
@@ -52,9 +51,6 @@ namespace content { |
const int kMediaPlayerThreshold = 1; |
const int kInvalidMediaPlayerId = -1; |
-// Minimal duration of a media player in order to be considered as Content type. |
-const int kMinimumDurationForContentInSeconds = 5; |
- |
static BrowserMediaPlayerManager::Factory g_factory = NULL; |
static media::MediaUrlInterceptor* media_url_interceptor_ = NULL; |
@@ -228,7 +224,6 @@ BrowserMediaPlayerManager::~BrowserMediaPlayerManager() { |
for (MediaPlayerAndroid* player : players_) |
player->DeleteOnCorrectThread(); |
- MediaSession::Get(web_contents())->RemovePlayers(this); |
players_.weak_clear(); |
} |
@@ -304,7 +299,6 @@ void BrowserMediaPlayerManager::OnMediaMetadataChanged( |
void BrowserMediaPlayerManager::OnPlaybackComplete(int player_id) { |
Send(new MediaPlayerMsg_MediaPlaybackCompleted(RoutingID(), player_id)); |
- MediaSession::Get(web_contents())->RemovePlayer(this, player_id); |
if (fullscreen_player_id_ == player_id) |
video_view_->OnPlaybackComplete(); |
@@ -313,7 +307,6 @@ void BrowserMediaPlayerManager::OnPlaybackComplete(int player_id) { |
void BrowserMediaPlayerManager::OnMediaInterrupted(int player_id) { |
// Tell WebKit that the audio should be paused, then release all resources |
Send(new MediaPlayerMsg_MediaPlayerReleased(RoutingID(), player_id)); |
- MediaSession::Get(web_contents())->RemovePlayer(this, player_id); |
ReleaseResources(player_id); |
} |
@@ -404,36 +397,12 @@ MediaPlayerAndroid* BrowserMediaPlayerManager::GetPlayer(int player_id) { |
bool BrowserMediaPlayerManager::RequestPlay(int player_id, |
base::TimeDelta duration, |
bool has_audio) { |
- if (!has_audio) |
- return true; |
- |
- MediaSession::Type media_session_type = |
- duration == base::TimeDelta() || |
- duration.InSeconds() > kMinimumDurationForContentInSeconds |
- ? MediaSession::Type::Content |
- : MediaSession::Type::Transient; |
- |
- bool succeeded = MediaSession::Get(web_contents())->AddPlayer( |
- this, player_id, media_session_type); |
- if (!succeeded) |
- Send(new MediaPlayerMsg_DidMediaPlayerPause(RoutingID(), player_id)); |
- return succeeded; |
-} |
- |
-void BrowserMediaPlayerManager::OnSuspend(int player_id) { |
- MediaPlayerAndroid* player = GetPlayer(player_id); |
- DCHECK(player); |
- |
- player->Pause(true); |
- Send(new MediaPlayerMsg_DidMediaPlayerPause(RoutingID(), player_id)); |
-} |
- |
-void BrowserMediaPlayerManager::OnResume(int player_id) { |
- MediaPlayerAndroid* player = GetPlayer(player_id); |
- DCHECK(player); |
- |
- player->Start(); |
- Send(new MediaPlayerMsg_DidMediaPlayerPlay(RoutingID(), player_id)); |
+ DCHECK(player_id_to_delegate_id_map_.find(player_id) != |
+ player_id_to_delegate_id_map_.end()); |
+ return MediaWebContentsObserverAndroid::FromWebContents(web_contents_) |
+ ->RequestPlay(render_frame_host_, |
+ player_id_to_delegate_id_map_[player_id], has_audio, |
+ IsPlayingRemotely(player_id), duration); |
} |
#if defined(VIDEO_HOLE) |
@@ -569,6 +538,8 @@ void BrowserMediaPlayerManager::OnInitialize( |
if (!player) |
return; |
+ player_id_to_delegate_id_map_[media_player_params.player_id] = |
+ media_player_params.delegate_id; |
AddPlayer(player); |
} |
@@ -601,9 +572,6 @@ void BrowserMediaPlayerManager::OnPause( |
MediaPlayerAndroid* player = GetPlayer(player_id); |
if (player) |
player->Pause(is_media_related_action); |
- |
- if (is_media_related_action) |
- MediaSession::Get(web_contents())->OnPlayerPaused(this, player_id); |
} |
void BrowserMediaPlayerManager::OnSetVolume(int player_id, double volume) { |
@@ -617,7 +585,6 @@ void BrowserMediaPlayerManager::OnSetPoster(int player_id, const GURL& url) { |
} |
void BrowserMediaPlayerManager::OnSuspendAndReleaseResources(int player_id) { |
- MediaSession::Get(web_contents())->RemovePlayer(this, player_id); |
ReleaseResources(player_id); |
} |
@@ -650,7 +617,6 @@ void BrowserMediaPlayerManager::DestroyPlayer(int player_id) { |
#endif |
(*it)->DeleteOnCorrectThread(); |
players_.weak_erase(it); |
- MediaSession::Get(web_contents())->RemovePlayer(this, player_id); |
break; |
} |
} |
@@ -729,6 +695,10 @@ void BrowserMediaPlayerManager::OnDecoderResourcesReleased(int player_id) { |
MediaThrottler::GetInstance()->OnDecodeRequestFinished(); |
} |
+bool BrowserMediaPlayerManager::IsPlayingRemotely(int player_id) { |
+ return false; |
+} |
+ |
int BrowserMediaPlayerManager::RoutingID() { |
return render_frame_host_->GetRoutingID(); |
} |