Chromium Code Reviews| 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/renderer/media/android/proxy_media_keys.h" | 5 #include "content/renderer/media/android/proxy_media_keys.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| 11 #include "content/renderer/media/android/renderer_media_player_manager.h" | 11 #include "content/renderer/media/android/renderer_media_player_manager.h" |
| 12 #include "content/renderer/media/crypto/key_systems.h" | 12 #include "content/renderer/media/crypto/key_systems.h" |
| 13 | 13 |
| 14 namespace content { | 14 namespace content { |
| 15 | 15 |
| 16 ProxyMediaKeys::ProxyMediaKeys( | 16 ProxyMediaKeys::ProxyMediaKeys( |
| 17 RendererMediaPlayerManager* manager, | 17 RendererMediaPlayerManager* manager, |
| 18 int cdm_id, | 18 int cdm_id, |
| 19 const media::SessionCreatedCB& session_created_cb, | 19 const media::SessionCreatedCB& session_created_cb, |
| 20 const media::SessionMessageCB& session_message_cb, | 20 const media::SessionMessageCB& session_message_cb, |
| 21 const media::SessionReadyCB& session_ready_cb, | 21 const media::SessionReadyCB& session_ready_cb, |
| 22 const media::SessionClosedCB& session_closed_cb, | 22 const media::SessionClosedCB& session_closed_cb, |
| 23 const media::SessionErrorCB& session_error_cb) | 23 const media::SessionErrorCB& session_error_cb) |
| 24 : manager_(manager), | 24 : manager_(manager), |
| 25 cdm_id_(cdm_id), | 25 cdm_id_(cdm_id), |
|
ddorwin
2014/03/11 18:05:14
Let's make this class responsible for initializing
xhwang
2014/03/12 01:07:52
Done.
| |
| 26 session_created_cb_(session_created_cb), | 26 session_created_cb_(session_created_cb), |
| 27 session_message_cb_(session_message_cb), | 27 session_message_cb_(session_message_cb), |
| 28 session_ready_cb_(session_ready_cb), | 28 session_ready_cb_(session_ready_cb), |
| 29 session_closed_cb_(session_closed_cb), | 29 session_closed_cb_(session_closed_cb), |
| 30 session_error_cb_(session_error_cb) { | 30 session_error_cb_(session_error_cb) { |
| 31 DCHECK(manager_); | 31 DCHECK(manager_); |
| 32 DCHECK_NE(cdm_id, media::MediaKeys::kInvalidCdmId); | |
| 32 } | 33 } |
| 33 | 34 |
| 34 ProxyMediaKeys::~ProxyMediaKeys() { | 35 ProxyMediaKeys::~ProxyMediaKeys() { |
| 35 manager_->DestroyCdm(cdm_id_); | 36 manager_->DestroyCdm(cdm_id_); |
| 36 } | 37 } |
| 37 | 38 |
| 38 void ProxyMediaKeys::InitializeCdm(const std::string& key_system, | 39 void ProxyMediaKeys::InitializeCdm(const std::string& key_system, |
| 39 const GURL& frame_url) { | 40 const GURL& frame_url) { |
| 40 manager_->InitializeCdm(cdm_id_, this, key_system, frame_url); | 41 manager_->InitializeCdm(cdm_id_, this, key_system, frame_url); |
| 41 } | 42 } |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 79 manager_->UpdateSession( | 80 manager_->UpdateSession( |
| 80 cdm_id_, | 81 cdm_id_, |
| 81 session_id, | 82 session_id, |
| 82 std::vector<uint8>(response, response + response_length)); | 83 std::vector<uint8>(response, response + response_length)); |
| 83 } | 84 } |
| 84 | 85 |
| 85 void ProxyMediaKeys::ReleaseSession(uint32 session_id) { | 86 void ProxyMediaKeys::ReleaseSession(uint32 session_id) { |
| 86 manager_->ReleaseSession(cdm_id_, session_id); | 87 manager_->ReleaseSession(cdm_id_, session_id); |
| 87 } | 88 } |
| 88 | 89 |
| 90 int ProxyMediaKeys::GetCdmId() { | |
| 91 return cdm_id_; | |
| 92 } | |
| 93 | |
| 89 void ProxyMediaKeys::OnSessionCreated(uint32 session_id, | 94 void ProxyMediaKeys::OnSessionCreated(uint32 session_id, |
| 90 const std::string& web_session_id) { | 95 const std::string& web_session_id) { |
| 91 session_created_cb_.Run(session_id, web_session_id); | 96 session_created_cb_.Run(session_id, web_session_id); |
| 92 } | 97 } |
| 93 | 98 |
| 94 void ProxyMediaKeys::OnSessionMessage(uint32 session_id, | 99 void ProxyMediaKeys::OnSessionMessage(uint32 session_id, |
| 95 const std::vector<uint8>& message, | 100 const std::vector<uint8>& message, |
| 96 const std::string& destination_url) { | 101 const std::string& destination_url) { |
| 97 session_message_cb_.Run(session_id, message, destination_url); | 102 session_message_cb_.Run(session_id, message, destination_url); |
| 98 } | 103 } |
| 99 | 104 |
| 100 void ProxyMediaKeys::OnSessionReady(uint32 session_id) { | 105 void ProxyMediaKeys::OnSessionReady(uint32 session_id) { |
| 101 session_ready_cb_.Run(session_id); | 106 session_ready_cb_.Run(session_id); |
| 102 } | 107 } |
| 103 | 108 |
| 104 void ProxyMediaKeys::OnSessionClosed(uint32 session_id) { | 109 void ProxyMediaKeys::OnSessionClosed(uint32 session_id) { |
| 105 session_closed_cb_.Run(session_id); | 110 session_closed_cb_.Run(session_id); |
| 106 } | 111 } |
| 107 | 112 |
| 108 void ProxyMediaKeys::OnSessionError(uint32 session_id, | 113 void ProxyMediaKeys::OnSessionError(uint32 session_id, |
| 109 media::MediaKeys::KeyError error_code, | 114 media::MediaKeys::KeyError error_code, |
| 110 uint32 system_code) { | 115 uint32 system_code) { |
| 111 session_error_cb_.Run(session_id, error_code, system_code); | 116 session_error_cb_.Run(session_id, error_code, system_code); |
| 112 } | 117 } |
| 113 | 118 |
| 114 } // namespace content | 119 } // namespace content |
| OLD | NEW |