Chromium Code Reviews| Index: chrome/browser/media/android/remote/remote_media_player_manager.cc |
| diff --git a/chrome/browser/media/android/remote/remote_media_player_manager.cc b/chrome/browser/media/android/remote/remote_media_player_manager.cc |
| index 90b70ea60454f890deffdc2cdd9d74a486e4b345..461555866fe00c4ad1411c6aad2e4491a2607e89 100644 |
| --- a/chrome/browser/media/android/remote/remote_media_player_manager.cc |
| +++ b/chrome/browser/media/android/remote/remote_media_player_manager.cc |
| @@ -143,13 +143,20 @@ RemoteMediaPlayerBridge* RemoteMediaPlayerManager::CreateRemoteMediaPlayer( |
| } |
| void RemoteMediaPlayerManager::SwapCurrentPlayer(int player_id) { |
| - // Find the remote player |
| + // Find the alternative player to swap the current one with. |
| auto it = GetAlternativePlayer(player_id); |
| if (it == alternative_players_.end()) |
| return; |
| + |
| MediaPlayerAndroid* new_player = *it; |
| std::unique_ptr<MediaPlayerAndroid> old_player = |
| SwapPlayer(player_id, new_player); |
| + if (!old_player) { |
| + // There's no player to swap with, destroy the alternative player and exit. |
| + alternative_players_.erase(it); |
|
aberent
2016/04/18 15:31:46
Does this now need a change to SwitchToRemotePlaye
whywhat
2016/04/18 16:50:46
Done. Added a check. Doesn't seem to be necessary
|
| + return; |
| + } |
| + |
| alternative_players_.weak_erase(it); |
| alternative_players_.push_back(old_player.release()); |
| } |