| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/android/media_player_manager_impl.h" | 5 #include "content/browser/android/media_player_manager_impl.h" |
| 6 | 6 |
| 7 #include "content/browser/android/content_view_core_impl.h" | 7 #include "content/browser/android/content_view_core_impl.h" |
| 8 #include "content/browser/android/media_resource_getter_impl.h" | 8 #include "content/browser/android/media_resource_getter_impl.h" |
| 9 #include "content/browser/web_contents/web_contents_view_android.h" | 9 #include "content/browser/web_contents/web_contents_view_android.h" |
| 10 #include "content/common/media/media_player_messages_android.h" | 10 #include "content/common/media/media_player_messages_android.h" |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 int player_id, base::TimeDelta time_to_seek, unsigned seek_request_id) { | 276 int player_id, base::TimeDelta time_to_seek, unsigned seek_request_id) { |
| 277 Send(new MediaPlayerMsg_MediaSeekRequest( | 277 Send(new MediaPlayerMsg_MediaSeekRequest( |
| 278 routing_id(), player_id, time_to_seek, seek_request_id)); | 278 routing_id(), player_id, time_to_seek, seek_request_id)); |
| 279 } | 279 } |
| 280 | 280 |
| 281 void MediaPlayerManagerImpl::OnMediaConfigRequest(int player_id) { | 281 void MediaPlayerManagerImpl::OnMediaConfigRequest(int player_id) { |
| 282 Send(new MediaPlayerMsg_MediaConfigRequest(routing_id(), player_id)); | 282 Send(new MediaPlayerMsg_MediaConfigRequest(routing_id(), player_id)); |
| 283 } | 283 } |
| 284 | 284 |
| 285 void MediaPlayerManagerImpl::OnKeyAdded(int media_keys_id, | 285 void MediaPlayerManagerImpl::OnKeyAdded(int media_keys_id, |
| 286 const std::string& key_system, | |
| 287 const std::string& session_id) { | 286 const std::string& session_id) { |
| 288 Send(new MediaPlayerMsg_KeyAdded( | 287 Send(new MediaPlayerMsg_KeyAdded(routing_id(), media_keys_id, session_id)); |
| 289 routing_id(), media_keys_id, key_system, session_id)); | |
| 290 } | 288 } |
| 291 | 289 |
| 292 void MediaPlayerManagerImpl::OnKeyError(int media_keys_id, | 290 void MediaPlayerManagerImpl::OnKeyError(int media_keys_id, |
| 293 const std::string& key_system, | |
| 294 const std::string& session_id, | 291 const std::string& session_id, |
| 295 media::MediaKeys::KeyError error_code, | 292 media::MediaKeys::KeyError error_code, |
| 296 int system_code) { | 293 int system_code) { |
| 297 Send(new MediaPlayerMsg_KeyError(routing_id(), media_keys_id, | 294 Send(new MediaPlayerMsg_KeyError(routing_id(), media_keys_id, |
| 298 key_system, session_id, error_code, system_code)); | 295 session_id, error_code, system_code)); |
| 299 } | 296 } |
| 300 | 297 |
| 301 void MediaPlayerManagerImpl::OnKeyMessage(int media_keys_id, | 298 void MediaPlayerManagerImpl::OnKeyMessage(int media_keys_id, |
| 302 const std::string& key_system, | |
| 303 const std::string& session_id, | 299 const std::string& session_id, |
| 304 const std::string& message, | 300 const std::string& message, |
| 305 const std::string& destination_url) { | 301 const std::string& destination_url) { |
| 306 Send(new MediaPlayerMsg_KeyMessage(routing_id(), media_keys_id, | 302 Send(new MediaPlayerMsg_KeyMessage(routing_id(), media_keys_id, session_id, |
| 307 key_system, session_id, message, destination_url)); | 303 message, destination_url)); |
| 308 } | 304 } |
| 309 | 305 |
| 310 #if defined(GOOGLE_TV) | 306 #if defined(GOOGLE_TV) |
| 311 void MediaPlayerManagerImpl::AttachExternalVideoSurface(int player_id, | 307 void MediaPlayerManagerImpl::AttachExternalVideoSurface(int player_id, |
| 312 jobject surface) { | 308 jobject surface) { |
| 313 MediaPlayerAndroid* player = GetPlayer(player_id); | 309 MediaPlayerAndroid* player = GetPlayer(player_id); |
| 314 if (player) { | 310 if (player) { |
| 315 player->SetVideoSurface( | 311 player->SetVideoSurface( |
| 316 gfx::ScopedJavaSurface::AcquireExternalSurface(surface)); | 312 gfx::ScopedJavaSurface::AcquireExternalSurface(surface)); |
| 317 } | 313 } |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 434 | 430 |
| 435 void MediaPlayerManagerImpl::OnMediaSeekRequestAck( | 431 void MediaPlayerManagerImpl::OnMediaSeekRequestAck( |
| 436 int player_id, unsigned seek_request_id) { | 432 int player_id, unsigned seek_request_id) { |
| 437 MediaPlayerAndroid* player = GetPlayer(player_id); | 433 MediaPlayerAndroid* player = GetPlayer(player_id); |
| 438 if (player) | 434 if (player) |
| 439 player->OnSeekRequestAck(seek_request_id); | 435 player->OnSeekRequestAck(seek_request_id); |
| 440 } | 436 } |
| 441 | 437 |
| 442 void MediaPlayerManagerImpl::OnGenerateKeyRequest( | 438 void MediaPlayerManagerImpl::OnGenerateKeyRequest( |
| 443 int media_keys_id, | 439 int media_keys_id, |
| 444 const std::string& key_system, | |
| 445 const std::string& type, | 440 const std::string& type, |
| 446 const std::vector<uint8>& init_data) { | 441 const std::vector<uint8>& init_data) { |
| 447 // TODO(qinmin): add a new MediaDrmBridge if GetDrmBridge() returns NULL. | 442 // TODO(qinmin): add a new MediaDrmBridge if GetDrmBridge() returns NULL. |
| 448 MediaDrmBridge* drm_bridge = GetDrmBridge(media_keys_id); | 443 MediaDrmBridge* drm_bridge = GetDrmBridge(media_keys_id); |
| 449 if (drm_bridge) { | 444 if (drm_bridge) { |
| 450 drm_bridge->GenerateKeyRequest(key_system, type, &init_data[0], | 445 drm_bridge->GenerateKeyRequest(type, &init_data[0], init_data.size()); |
| 451 init_data.size()); | |
| 452 } | 446 } |
| 453 } | 447 } |
| 454 | 448 |
| 455 void MediaPlayerManagerImpl::OnAddKey(int media_keys_id, | 449 void MediaPlayerManagerImpl::OnAddKey(int media_keys_id, |
| 456 const std::string& key_system, | |
| 457 const std::vector<uint8>& key, | 450 const std::vector<uint8>& key, |
| 458 const std::vector<uint8>& init_data, | 451 const std::vector<uint8>& init_data, |
| 459 const std::string& session_id) { | 452 const std::string& session_id) { |
| 460 MediaDrmBridge* drm_bridge = GetDrmBridge(media_keys_id); | 453 MediaDrmBridge* drm_bridge = GetDrmBridge(media_keys_id); |
| 461 if (drm_bridge) { | 454 if (drm_bridge) { |
| 462 drm_bridge->AddKey(key_system, &key[0], key.size(), &init_data[0], | 455 drm_bridge->AddKey(&key[0], key.size(), &init_data[0], init_data.size(), |
| 463 init_data.size(), session_id); | 456 session_id); |
| 464 } | 457 } |
| 465 } | 458 } |
| 466 | 459 |
| 467 void MediaPlayerManagerImpl::OnCancelKeyRequest(int media_keys_id, | 460 void MediaPlayerManagerImpl::OnCancelKeyRequest(int media_keys_id, |
| 468 const std::string& key_system, | |
| 469 const std::string& session_id) { | 461 const std::string& session_id) { |
| 470 MediaDrmBridge* drm_bridge = GetDrmBridge(media_keys_id); | 462 MediaDrmBridge* drm_bridge = GetDrmBridge(media_keys_id); |
| 471 if (drm_bridge) | 463 if (drm_bridge) |
| 472 drm_bridge->CancelKeyRequest(key_system, session_id); | 464 drm_bridge->CancelKeyRequest(session_id); |
| 473 } | 465 } |
| 474 | 466 |
| 475 void MediaPlayerManagerImpl::OnDurationChanged( | 467 void MediaPlayerManagerImpl::OnDurationChanged( |
| 476 int player_id, const base::TimeDelta& duration) { | 468 int player_id, const base::TimeDelta& duration) { |
| 477 MediaPlayerAndroid* player = GetPlayer(player_id); | 469 MediaPlayerAndroid* player = GetPlayer(player_id); |
| 478 if (player) | 470 if (player) |
| 479 player->DurationChanged(duration); | 471 player->DurationChanged(duration); |
| 480 } | 472 } |
| 481 | 473 |
| 482 void MediaPlayerManagerImpl::AddPlayer(MediaPlayerAndroid* player) { | 474 void MediaPlayerManagerImpl::AddPlayer(MediaPlayerAndroid* player) { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 498 for (ScopedVector<MediaDrmBridge>::iterator it = drm_bridges_.begin(); | 490 for (ScopedVector<MediaDrmBridge>::iterator it = drm_bridges_.begin(); |
| 499 it != drm_bridges_.end(); ++it) { | 491 it != drm_bridges_.end(); ++it) { |
| 500 if ((*it)->media_keys_id() == media_keys_id) { | 492 if ((*it)->media_keys_id() == media_keys_id) { |
| 501 drm_bridges_.erase(it); | 493 drm_bridges_.erase(it); |
| 502 break; | 494 break; |
| 503 } | 495 } |
| 504 } | 496 } |
| 505 } | 497 } |
| 506 | 498 |
| 507 } // namespace content | 499 } // namespace content |
| OLD | NEW |