| OLD | NEW |
| 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 "content/browser/media/android/browser_media_player_manager.h" | 5 #include "content/browser/media/android/browser_media_player_manager.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "content/browser/android/content_view_core_impl.h" | 8 #include "content/browser/android/content_view_core_impl.h" |
| 9 #include "content/browser/media/android/browser_demuxer_android.h" | 9 #include "content/browser/media/android/browser_demuxer_android.h" |
| 10 #include "content/browser/media/android/media_resource_getter_impl.h" | 10 #include "content/browser/media/android/media_resource_getter_impl.h" |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 132 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_Initialize, OnInitialize) | 132 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_Initialize, OnInitialize) |
| 133 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_Start, OnStart) | 133 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_Start, OnStart) |
| 134 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_Seek, OnSeek) | 134 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_Seek, OnSeek) |
| 135 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_Pause, OnPause) | 135 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_Pause, OnPause) |
| 136 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_SetVolume, OnSetVolume) | 136 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_SetVolume, OnSetVolume) |
| 137 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_SetPoster, OnSetPoster) | 137 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_SetPoster, OnSetPoster) |
| 138 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_Release, OnReleaseResources) | 138 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_Release, OnReleaseResources) |
| 139 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyMediaPlayer, OnDestroyPlayer) | 139 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyMediaPlayer, OnDestroyPlayer) |
| 140 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyAllMediaPlayers, | 140 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyAllMediaPlayers, |
| 141 DestroyAllMediaPlayers) | 141 DestroyAllMediaPlayers) |
| 142 IPC_MESSAGE_HANDLER(MediaKeysHostMsg_InitializeCDM, | 142 IPC_MESSAGE_HANDLER(CdmHostMsg_InitializeCDM, OnInitializeCDM) |
| 143 OnInitializeCDM) | 143 IPC_MESSAGE_HANDLER(CdmHostMsg_CreateSession, OnCreateSession) |
| 144 IPC_MESSAGE_HANDLER(MediaKeysHostMsg_CreateSession, OnCreateSession) | 144 IPC_MESSAGE_HANDLER(CdmHostMsg_UpdateSession, OnUpdateSession) |
| 145 IPC_MESSAGE_HANDLER(MediaKeysHostMsg_UpdateSession, OnUpdateSession) | 145 IPC_MESSAGE_HANDLER(CdmHostMsg_ReleaseSession, OnReleaseSession) |
| 146 IPC_MESSAGE_HANDLER(MediaKeysHostMsg_ReleaseSession, OnReleaseSession) | 146 IPC_MESSAGE_HANDLER(CdmHostMsg_DestroyCdm, OnDestroyCdm) |
| 147 IPC_MESSAGE_HANDLER(MediaKeysHostMsg_DestroyCdm, OnDestroyCdm) | |
| 148 #if defined(VIDEO_HOLE) | 147 #if defined(VIDEO_HOLE) |
| 149 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_NotifyExternalSurface, | 148 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_NotifyExternalSurface, |
| 150 OnNotifyExternalSurface) | 149 OnNotifyExternalSurface) |
| 151 #endif // defined(VIDEO_HOLE) | 150 #endif // defined(VIDEO_HOLE) |
| 152 IPC_MESSAGE_UNHANDLED(handled = false) | 151 IPC_MESSAGE_UNHANDLED(handled = false) |
| 153 IPC_END_MESSAGE_MAP() | 152 IPC_END_MESSAGE_MAP() |
| 154 return handled; | 153 return handled; |
| 155 } | 154 } |
| 156 | 155 |
| 157 void BrowserMediaPlayerManager::FullscreenPlayerPlay() { | 156 void BrowserMediaPlayerManager::FullscreenPlayerPlay() { |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 409 Send(new MediaPlayerMsg_RequestFullscreen(routing_id(), player_id)); | 408 Send(new MediaPlayerMsg_RequestFullscreen(routing_id(), player_id)); |
| 410 } | 409 } |
| 411 } | 410 } |
| 412 | 411 |
| 413 // The following 5 functions are EME MediaKeySession events. | 412 // The following 5 functions are EME MediaKeySession events. |
| 414 | 413 |
| 415 void BrowserMediaPlayerManager::OnSessionCreated( | 414 void BrowserMediaPlayerManager::OnSessionCreated( |
| 416 int media_keys_id, | 415 int media_keys_id, |
| 417 uint32 session_id, | 416 uint32 session_id, |
| 418 const std::string& web_session_id) { | 417 const std::string& web_session_id) { |
| 419 Send(new MediaKeysMsg_SessionCreated( | 418 Send(new CdmMsg_SessionCreated( |
| 420 routing_id(), media_keys_id, session_id, web_session_id)); | 419 routing_id(), media_keys_id, session_id, web_session_id)); |
| 421 } | 420 } |
| 422 | 421 |
| 423 void BrowserMediaPlayerManager::OnSessionMessage( | 422 void BrowserMediaPlayerManager::OnSessionMessage( |
| 424 int media_keys_id, | 423 int media_keys_id, |
| 425 uint32 session_id, | 424 uint32 session_id, |
| 426 const std::vector<uint8>& message, | 425 const std::vector<uint8>& message, |
| 427 const GURL& destination_url) { | 426 const GURL& destination_url) { |
| 428 Send(new MediaKeysMsg_SessionMessage( | 427 Send(new CdmMsg_SessionMessage( |
| 429 routing_id(), media_keys_id, session_id, message, destination_url)); | 428 routing_id(), media_keys_id, session_id, message, destination_url)); |
| 430 } | 429 } |
| 431 | 430 |
| 432 void BrowserMediaPlayerManager::OnSessionReady(int media_keys_id, | 431 void BrowserMediaPlayerManager::OnSessionReady(int media_keys_id, |
| 433 uint32 session_id) { | 432 uint32 session_id) { |
| 434 Send(new MediaKeysMsg_SessionReady(routing_id(), media_keys_id, session_id)); | 433 Send(new CdmMsg_SessionReady(routing_id(), media_keys_id, session_id)); |
| 435 } | 434 } |
| 436 | 435 |
| 437 void BrowserMediaPlayerManager::OnSessionClosed(int media_keys_id, | 436 void BrowserMediaPlayerManager::OnSessionClosed(int media_keys_id, |
| 438 uint32 session_id) { | 437 uint32 session_id) { |
| 439 Send(new MediaKeysMsg_SessionClosed(routing_id(), media_keys_id, session_id)); | 438 Send(new CdmMsg_SessionClosed(routing_id(), media_keys_id, session_id)); |
| 440 } | 439 } |
| 441 | 440 |
| 442 void BrowserMediaPlayerManager::OnSessionError( | 441 void BrowserMediaPlayerManager::OnSessionError( |
| 443 int media_keys_id, | 442 int media_keys_id, |
| 444 uint32 session_id, | 443 uint32 session_id, |
| 445 media::MediaKeys::KeyError error_code, | 444 media::MediaKeys::KeyError error_code, |
| 446 int system_code) { | 445 int system_code) { |
| 447 Send(new MediaKeysMsg_SessionError( | 446 Send(new CdmMsg_SessionError( |
| 448 routing_id(), media_keys_id, session_id, error_code, system_code)); | 447 routing_id(), media_keys_id, session_id, error_code, system_code)); |
| 449 } | 448 } |
| 450 | 449 |
| 451 #if defined(VIDEO_HOLE) | 450 #if defined(VIDEO_HOLE) |
| 452 void BrowserMediaPlayerManager::AttachExternalVideoSurface(int player_id, | 451 void BrowserMediaPlayerManager::AttachExternalVideoSurface(int player_id, |
| 453 jobject surface) { | 452 jobject surface) { |
| 454 MediaPlayerAndroid* player = GetPlayer(player_id); | 453 MediaPlayerAndroid* player = GetPlayer(player_id); |
| 455 if (player) { | 454 if (player) { |
| 456 player->SetVideoSurface( | 455 player->SetVideoSurface( |
| 457 gfx::ScopedJavaSurface::AcquireExternalSurface(surface)); | 456 gfx::ScopedJavaSurface::AcquireExternalSurface(surface)); |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 615 | 614 |
| 616 AddDrmBridge(media_keys_id, uuid, frame_url); | 615 AddDrmBridge(media_keys_id, uuid, frame_url); |
| 617 // In EME v0.1b MediaKeys lives in the media element. So the |media_keys_id| | 616 // In EME v0.1b MediaKeys lives in the media element. So the |media_keys_id| |
| 618 // is the same as the |player_id|. | 617 // is the same as the |player_id|. |
| 619 OnSetMediaKeys(media_keys_id, media_keys_id); | 618 OnSetMediaKeys(media_keys_id, media_keys_id); |
| 620 } | 619 } |
| 621 | 620 |
| 622 void BrowserMediaPlayerManager::OnCreateSession( | 621 void BrowserMediaPlayerManager::OnCreateSession( |
| 623 int media_keys_id, | 622 int media_keys_id, |
| 624 uint32 session_id, | 623 uint32 session_id, |
| 625 MediaKeysHostMsg_CreateSession_Type content_type, | 624 CdmHostMsg_CreateSession_Type content_type, |
| 626 const std::vector<uint8>& init_data) { | 625 const std::vector<uint8>& init_data) { |
| 627 if (init_data.size() > kEmeInitDataMaximum) { | 626 if (init_data.size() > kEmeInitDataMaximum) { |
| 628 LOG(WARNING) << "InitData for ID: " << media_keys_id | 627 LOG(WARNING) << "InitData for ID: " << media_keys_id |
| 629 << " too long: " << init_data.size(); | 628 << " too long: " << init_data.size(); |
| 630 OnSessionError( | 629 OnSessionError( |
| 631 media_keys_id, session_id, media::MediaKeys::kUnknownError, 0); | 630 media_keys_id, session_id, media::MediaKeys::kUnknownError, 0); |
| 632 return; | 631 return; |
| 633 } | 632 } |
| 634 | 633 |
| 635 // Convert the session content type into a MIME type. "audio" and "video" | 634 // Convert the session content type into a MIME type. "audio" and "video" |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 880 if (player->IsPlaying()) | 879 if (player->IsPlaying()) |
| 881 OnProtectedSurfaceRequested(media_keys_id); | 880 OnProtectedSurfaceRequested(media_keys_id); |
| 882 } | 881 } |
| 883 | 882 |
| 884 void BrowserMediaPlayerManager::ReleaseFullscreenPlayer( | 883 void BrowserMediaPlayerManager::ReleaseFullscreenPlayer( |
| 885 MediaPlayerAndroid* player) { | 884 MediaPlayerAndroid* player) { |
| 886 player->Release(); | 885 player->Release(); |
| 887 } | 886 } |
| 888 | 887 |
| 889 } // namespace content | 888 } // namespace content |
| OLD | NEW |