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/crypto/proxy_media_keys.h" | 5 #include "content/renderer/media/crypto/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" |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 const std::string& web_session_id, | 135 const std::string& web_session_id, |
136 scoped_ptr<media::SimpleCdmPromise> promise) { | 136 scoped_ptr<media::SimpleCdmPromise> promise) { |
137 promise->reject(NOT_SUPPORTED_ERROR, 0, "Not yet implemented."); | 137 promise->reject(NOT_SUPPORTED_ERROR, 0, "Not yet implemented."); |
138 } | 138 } |
139 | 139 |
140 void ProxyMediaKeys::GetUsableKeyIds(const std::string& web_session_id, | 140 void ProxyMediaKeys::GetUsableKeyIds(const std::string& web_session_id, |
141 scoped_ptr<media::KeyIdsPromise> promise) { | 141 scoped_ptr<media::KeyIdsPromise> promise) { |
142 promise->reject(NOT_SUPPORTED_ERROR, 0, "Not yet implemented."); | 142 promise->reject(NOT_SUPPORTED_ERROR, 0, "Not yet implemented."); |
143 } | 143 } |
144 | 144 |
| 145 int ProxyMediaKeys::GetCdmId() const { |
| 146 return cdm_id_; |
| 147 } |
| 148 |
145 void ProxyMediaKeys::OnSessionCreated(uint32 session_id, | 149 void ProxyMediaKeys::OnSessionCreated(uint32 session_id, |
146 const std::string& web_session_id) { | 150 const std::string& web_session_id) { |
147 AssignWebSessionId(session_id, web_session_id); | 151 AssignWebSessionId(session_id, web_session_id); |
148 scoped_ptr<media::CdmPromise> promise = TakePromise(session_id); | 152 scoped_ptr<media::CdmPromise> promise = TakePromise(session_id); |
149 if (promise) { | 153 if (promise) { |
150 media::NewSessionCdmPromise* session_promise( | 154 media::NewSessionCdmPromise* session_promise( |
151 static_cast<media::NewSessionCdmPromise*>(promise.get())); | 155 static_cast<media::NewSessionCdmPromise*>(promise.get())); |
152 session_promise->resolve(web_session_id); | 156 session_promise->resolve(web_session_id); |
153 } | 157 } |
154 } | 158 } |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
211 promise->reject(exception_code, system_code, std::string()); | 215 promise->reject(exception_code, system_code, std::string()); |
212 return; | 216 return; |
213 } | 217 } |
214 | 218 |
215 // Errors generally happen in response to a request, but it is possible | 219 // Errors generally happen in response to a request, but it is possible |
216 // for something bad to happen in the CDM and it needs to tell the client. | 220 // for something bad to happen in the CDM and it needs to tell the client. |
217 session_error_cb_.Run( | 221 session_error_cb_.Run( |
218 web_session_id, exception_code, system_code, std::string()); | 222 web_session_id, exception_code, system_code, std::string()); |
219 } | 223 } |
220 | 224 |
221 int ProxyMediaKeys::GetCdmId() const { | |
222 return cdm_id_; | |
223 } | |
224 | |
225 ProxyMediaKeys::ProxyMediaKeys( | 225 ProxyMediaKeys::ProxyMediaKeys( |
226 RendererCdmManager* manager, | 226 RendererCdmManager* manager, |
227 const media::SessionMessageCB& session_message_cb, | 227 const media::SessionMessageCB& session_message_cb, |
228 const media::SessionReadyCB& session_ready_cb, | 228 const media::SessionReadyCB& session_ready_cb, |
229 const media::SessionClosedCB& session_closed_cb, | 229 const media::SessionClosedCB& session_closed_cb, |
230 const media::SessionErrorCB& session_error_cb) | 230 const media::SessionErrorCB& session_error_cb) |
231 : manager_(manager), | 231 : manager_(manager), |
232 session_message_cb_(session_message_cb), | 232 session_message_cb_(session_message_cb), |
233 session_ready_cb_(session_ready_cb), | 233 session_ready_cb_(session_ready_cb), |
234 session_closed_cb_(session_closed_cb), | 234 session_closed_cb_(session_closed_cb), |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 | 286 |
287 scoped_ptr<media::CdmPromise> ProxyMediaKeys::TakePromise(uint32_t session_id) { | 287 scoped_ptr<media::CdmPromise> ProxyMediaKeys::TakePromise(uint32_t session_id) { |
288 PromiseMap::iterator it = session_id_to_promise_map_.find(session_id); | 288 PromiseMap::iterator it = session_id_to_promise_map_.find(session_id); |
289 // May not be a promise associated with this session for asynchronous events. | 289 // May not be a promise associated with this session for asynchronous events. |
290 if (it == session_id_to_promise_map_.end()) | 290 if (it == session_id_to_promise_map_.end()) |
291 return scoped_ptr<media::CdmPromise>(); | 291 return scoped_ptr<media::CdmPromise>(); |
292 return session_id_to_promise_map_.take_and_erase(it); | 292 return session_id_to_promise_map_.take_and_erase(it); |
293 } | 293 } |
294 | 294 |
295 } // namespace content | 295 } // namespace content |
OLD | NEW |