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

Unified Diff: content/browser/media/android/browser_media_player_manager.cc

Issue 534063002: Remove OnMediaResourcesReleased callback passed to MediaPlayerAndroid (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: make ReleaseMediaResources non-virtual Created 6 years, 3 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: 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 c847a275b8f37d484775164dd90079ab69a135e7..24a4895b2782e07279c45f7202ea168a25cf562b 100644
--- a/content/browser/media/android/browser_media_player_manager.cc
+++ b/content/browser/media/android/browser_media_player_manager.cc
@@ -83,8 +83,6 @@ MediaPlayerAndroid* BrowserMediaPlayerManager::CreateMediaPlayer(
manager,
base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested,
weak_ptr_factory_.GetWeakPtr()),
- base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesReleased,
- weak_ptr_factory_.GetWeakPtr()),
media_player_params.frame_url,
media_player_params.allow_credentials);
BrowserMediaPlayerManager* browser_media_player_manager =
@@ -112,8 +110,6 @@ MediaPlayerAndroid* BrowserMediaPlayerManager::CreateMediaPlayer(
manager,
base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested,
weak_ptr_factory_.GetWeakPtr()),
- base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesReleased,
- weak_ptr_factory_.GetWeakPtr()),
demuxer->CreateDemuxer(media_player_params.demuxer_client_id),
media_player_params.frame_url);
}
@@ -499,7 +495,7 @@ void BrowserMediaPlayerManager::OnSetPoster(int player_id, const GURL& url) {
void BrowserMediaPlayerManager::OnReleaseResources(int player_id) {
MediaPlayerAndroid* player = GetPlayer(player_id);
if (player)
- player->Release();
+ ReleasePlayer(player);
if (player_id == fullscreen_player_id_)
fullscreen_player_is_released_ = true;
}
@@ -518,8 +514,8 @@ void BrowserMediaPlayerManager::AddPlayer(MediaPlayerAndroid* player) {
void BrowserMediaPlayerManager::RemovePlayer(int player_id) {
for (ScopedVector<MediaPlayerAndroid>::iterator it = players_.begin();
it != players_.end(); ++it) {
- MediaPlayerAndroid* player = *it;
- if (player->player_id() == player_id) {
+ if ((*it)->player_id() == player_id) {
+ ReleaseMediaResources(player_id);
players_.erase(it);
break;
}
@@ -533,6 +529,7 @@ scoped_ptr<media::MediaPlayerAndroid> BrowserMediaPlayerManager::SwapPlayer(
it != players_.end(); ++it) {
if ((*it)->player_id() == player_id) {
previous_player = *it;
+ ReleaseMediaResources(player_id);
players_.weak_erase(it);
players_.push_back(player);
break;
@@ -551,7 +548,7 @@ bool BrowserMediaPlayerManager::Send(IPC::Message* msg) {
void BrowserMediaPlayerManager::ReleaseFullscreenPlayer(
MediaPlayerAndroid* player) {
- player->Release();
+ ReleasePlayer(player);
}
void BrowserMediaPlayerManager::OnMediaResourcesRequested(int player_id) {
@@ -575,14 +572,14 @@ void BrowserMediaPlayerManager::OnMediaResourcesRequested(int player_id) {
for (it = players_.begin(); it != players_.end(); ++it) {
if ((*it)->IsPlayerReady() && !(*it)->IsPlaying() &&
fullscreen_player_id_ != (*it)->player_id()) {
- (*it)->Release();
+ ReleasePlayer(*it);
Send(new MediaPlayerMsg_MediaPlayerReleased(RoutingID(),
(*it)->player_id()));
}
}
}
-void BrowserMediaPlayerManager::OnMediaResourcesReleased(int player_id) {
+void BrowserMediaPlayerManager::ReleaseMediaResources(int player_id) {
#if defined(VIDEO_HOLE)
MediaPlayerAndroid* player = GetPlayer(player_id);
if (player && player->IsSurfaceInUse())
@@ -592,4 +589,9 @@ void BrowserMediaPlayerManager::OnMediaResourcesReleased(int player_id) {
#endif // defined(VIDEO_HOLE)
}
+void BrowserMediaPlayerManager::ReleasePlayer(MediaPlayerAndroid* player) {
+ player->Release();
+ ReleaseMediaResources(player->player_id());
+}
+
} // namespace content
« no previous file with comments | « content/browser/media/android/browser_media_player_manager.h ('k') | media/base/android/media_decoder_job.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698