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

Side by Side Diff: chrome/browser/media/android/remote/remote_media_player_manager.cc

Issue 1570043002: Implement MediaSession on top of the WebMediaPlayerDelegate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@media_session
Patch Set: Rebase yet again. Created 4 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/media/android/remote/remote_media_player_manager.h" 5 #include "chrome/browser/media/android/remote/remote_media_player_manager.h"
6 6
7 #include "chrome/browser/android/tab_android.h" 7 #include "chrome/browser/android/tab_android.h"
8 #include "chrome/common/chrome_content_client.h" 8 #include "chrome/common/chrome_content_client.h"
9 #include "content/common/media/media_player_messages_android.h" 9 #include "content/common/media/media_player_messages_android.h"
10 #include "third_party/skia/include/core/SkBitmap.h" 10 #include "third_party/skia/include/core/SkBitmap.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 RemoteMediaPlayerBridge* player = new RemoteMediaPlayerBridge( 128 RemoteMediaPlayerBridge* player = new RemoteMediaPlayerBridge(
129 local_player, 129 local_player,
130 GetUserAgent(), 130 GetUserAgent(),
131 false, 131 false,
132 this); 132 this);
133 alternative_players_.push_back(player); 133 alternative_players_.push_back(player);
134 player->Initialize(); 134 player->Initialize();
135 return player; 135 return player;
136 } 136 }
137 137
138 // OnSuspend and OnResume are called when the local player loses or gains
139 // audio focus. If we are playing remotely then ignore these.
140 void RemoteMediaPlayerManager::OnSuspend(int player_id) {
141 if (!IsPlayingRemotely(player_id))
142 BrowserMediaPlayerManager::OnSuspend(player_id);
143 }
144
145 void RemoteMediaPlayerManager::OnResume(int player_id) {
146 if (!IsPlayingRemotely(player_id))
147 BrowserMediaPlayerManager::OnResume(player_id);
148 }
149
150 void RemoteMediaPlayerManager::SwapCurrentPlayer(int player_id) { 138 void RemoteMediaPlayerManager::SwapCurrentPlayer(int player_id) {
151 // Find the remote player 139 // Find the remote player
152 auto it = GetAlternativePlayer(player_id); 140 auto it = GetAlternativePlayer(player_id);
153 if (it == alternative_players_.end()) 141 if (it == alternative_players_.end())
154 return; 142 return;
155 MediaPlayerAndroid* new_player = *it; 143 MediaPlayerAndroid* new_player = *it;
156 scoped_ptr<MediaPlayerAndroid> old_player = SwapPlayer(player_id, new_player); 144 scoped_ptr<MediaPlayerAndroid> old_player = SwapPlayer(player_id, new_player);
157 alternative_players_.weak_erase(it); 145 alternative_players_.weak_erase(it);
158 alternative_players_.push_back(old_player.release()); 146 alternative_players_.push_back(old_player.release());
159 } 147 }
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 BrowserMediaPlayerManager::OnMediaMetadataChanged(player_id, duration, 256 BrowserMediaPlayerManager::OnMediaMetadataChanged(player_id, duration,
269 width, height, success); 257 width, height, success);
270 } 258 }
271 } 259 }
272 260
273 bool RemoteMediaPlayerManager::IsPlayingRemotely(int player_id) { 261 bool RemoteMediaPlayerManager::IsPlayingRemotely(int player_id) {
274 return players_playing_remotely_.count(player_id) != 0; 262 return players_playing_remotely_.count(player_id) != 0;
275 } 263 }
276 264
277 } // namespace remote_media 265 } // namespace remote_media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698