| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/cdm/renderer_cdm_manager.h" | 5 #include "content/renderer/media/cdm/renderer_cdm_manager.h" |
| 6 | 6 |
| 7 #include <stddef.h> |
| 8 |
| 7 #include "base/stl_util.h" | 9 #include "base/stl_util.h" |
| 8 #include "content/common/media/cdm_messages.h" | 10 #include "content/common/media/cdm_messages.h" |
| 9 #include "content/renderer/media/cdm/proxy_media_keys.h" | 11 #include "content/renderer/media/cdm/proxy_media_keys.h" |
| 10 #include "media/base/cdm_context.h" | 12 #include "media/base/cdm_context.h" |
| 11 #include "media/base/limits.h" | 13 #include "media/base/limits.h" |
| 12 | 14 |
| 13 namespace content { | 15 namespace content { |
| 14 | 16 |
| 15 using media::MediaKeys; | 17 using media::MediaKeys; |
| 16 | 18 |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 | 125 |
| 124 void RendererCdmManager::DestroyCdm(int cdm_id) { | 126 void RendererCdmManager::DestroyCdm(int cdm_id) { |
| 125 DCHECK(GetMediaKeys(cdm_id)) << "|cdm_id| not registered."; | 127 DCHECK(GetMediaKeys(cdm_id)) << "|cdm_id| not registered."; |
| 126 Send(new CdmHostMsg_DestroyCdm(routing_id(), cdm_id)); | 128 Send(new CdmHostMsg_DestroyCdm(routing_id(), cdm_id)); |
| 127 } | 129 } |
| 128 | 130 |
| 129 void RendererCdmManager::OnSessionMessage( | 131 void RendererCdmManager::OnSessionMessage( |
| 130 int cdm_id, | 132 int cdm_id, |
| 131 const std::string& session_id, | 133 const std::string& session_id, |
| 132 media::MediaKeys::MessageType message_type, | 134 media::MediaKeys::MessageType message_type, |
| 133 const std::vector<uint8>& message, | 135 const std::vector<uint8_t>& message, |
| 134 const GURL& legacy_destination_url) { | 136 const GURL& legacy_destination_url) { |
| 135 if (message.size() > kMaxSessionMessageLength) { | 137 if (message.size() > kMaxSessionMessageLength) { |
| 136 NOTREACHED(); | 138 NOTREACHED(); |
| 137 LOG(ERROR) << "Message is too long and dropped."; | 139 LOG(ERROR) << "Message is too long and dropped."; |
| 138 return; | 140 return; |
| 139 } | 141 } |
| 140 | 142 |
| 141 ProxyMediaKeys* media_keys = GetMediaKeys(cdm_id); | 143 ProxyMediaKeys* media_keys = GetMediaKeys(cdm_id); |
| 142 if (media_keys) | 144 if (media_keys) |
| 143 media_keys->OnSessionMessage(session_id, message_type, message, | 145 media_keys->OnSessionMessage(session_id, message_type, message, |
| 144 legacy_destination_url); | 146 legacy_destination_url); |
| 145 } | 147 } |
| 146 | 148 |
| 147 void RendererCdmManager::OnSessionClosed(int cdm_id, | 149 void RendererCdmManager::OnSessionClosed(int cdm_id, |
| 148 const std::string& session_id) { | 150 const std::string& session_id) { |
| 149 ProxyMediaKeys* media_keys = GetMediaKeys(cdm_id); | 151 ProxyMediaKeys* media_keys = GetMediaKeys(cdm_id); |
| 150 if (media_keys) | 152 if (media_keys) |
| 151 media_keys->OnSessionClosed(session_id); | 153 media_keys->OnSessionClosed(session_id); |
| 152 } | 154 } |
| 153 | 155 |
| 154 void RendererCdmManager::OnLegacySessionError( | 156 void RendererCdmManager::OnLegacySessionError( |
| 155 int cdm_id, | 157 int cdm_id, |
| 156 const std::string& session_id, | 158 const std::string& session_id, |
| 157 MediaKeys::Exception exception, | 159 MediaKeys::Exception exception, |
| 158 uint32 system_code, | 160 uint32_t system_code, |
| 159 const std::string& error_message) { | 161 const std::string& error_message) { |
| 160 ProxyMediaKeys* media_keys = GetMediaKeys(cdm_id); | 162 ProxyMediaKeys* media_keys = GetMediaKeys(cdm_id); |
| 161 if (media_keys) | 163 if (media_keys) |
| 162 media_keys->OnLegacySessionError(session_id, exception, system_code, | 164 media_keys->OnLegacySessionError(session_id, exception, system_code, |
| 163 error_message); | 165 error_message); |
| 164 } | 166 } |
| 165 | 167 |
| 166 void RendererCdmManager::OnSessionKeysChange( | 168 void RendererCdmManager::OnSessionKeysChange( |
| 167 int cdm_id, | 169 int cdm_id, |
| 168 const std::string& session_id, | 170 const std::string& session_id, |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 proxy_media_keys_map_.erase(cdm_id); | 238 proxy_media_keys_map_.erase(cdm_id); |
| 237 } | 239 } |
| 238 | 240 |
| 239 ProxyMediaKeys* RendererCdmManager::GetMediaKeys(int cdm_id) { | 241 ProxyMediaKeys* RendererCdmManager::GetMediaKeys(int cdm_id) { |
| 240 std::map<int, ProxyMediaKeys*>::iterator iter = | 242 std::map<int, ProxyMediaKeys*>::iterator iter = |
| 241 proxy_media_keys_map_.find(cdm_id); | 243 proxy_media_keys_map_.find(cdm_id); |
| 242 return (iter != proxy_media_keys_map_.end()) ? iter->second : NULL; | 244 return (iter != proxy_media_keys_map_.end()) ? iter->second : NULL; |
| 243 } | 245 } |
| 244 | 246 |
| 245 } // namespace content | 247 } // namespace content |
| OLD | NEW |