Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Side by Side Diff: media/cdm/cdm_adapter.cc

Issue 1471043004: Convert various vector_as_array calls to vector::data. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/blink/webmediaplayer_impl.cc ('k') | media/cdm/cenc_utils.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "media/cdm/cdm_adapter.h" 5 #include "media/cdm/cdm_adapter.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/stl_util.h"
11 #include "base/thread_task_runner_handle.h" 10 #include "base/thread_task_runner_handle.h"
12 #include "base/time/time.h" 11 #include "base/time/time.h"
13 #include "media/base/cdm_context.h" 12 #include "media/base/cdm_context.h"
14 #include "media/base/cdm_initialized_promise.h" 13 #include "media/base/cdm_initialized_promise.h"
15 #include "media/base/cdm_key_information.h" 14 #include "media/base/cdm_key_information.h"
16 #include "media/base/limits.h" 15 #include "media/base/limits.h"
17 #include "media/cdm/cdm_wrapper.h" 16 #include "media/cdm/cdm_wrapper.h"
18 17
19 namespace media { 18 namespace media {
20 19
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 DCHECK(task_runner_->BelongsToCurrentThread()); 256 DCHECK(task_runner_->BelongsToCurrentThread());
258 257
259 if (certificate.size() < limits::kMinCertificateLength || 258 if (certificate.size() < limits::kMinCertificateLength ||
260 certificate.size() > limits::kMaxCertificateLength) { 259 certificate.size() > limits::kMaxCertificateLength) {
261 promise->reject(MediaKeys::INVALID_ACCESS_ERROR, 0, 260 promise->reject(MediaKeys::INVALID_ACCESS_ERROR, 0,
262 "Incorrect certificate."); 261 "Incorrect certificate.");
263 return; 262 return;
264 } 263 }
265 264
266 uint32_t promise_id = cdm_promise_adapter_.SavePromise(promise.Pass()); 265 uint32_t promise_id = cdm_promise_adapter_.SavePromise(promise.Pass());
267 cdm_->SetServerCertificate(promise_id, vector_as_array(&certificate), 266 cdm_->SetServerCertificate(promise_id, certificate.data(),
268 certificate.size()); 267 certificate.size());
269 } 268 }
270 269
271 void CdmAdapter::CreateSessionAndGenerateRequest( 270 void CdmAdapter::CreateSessionAndGenerateRequest(
272 SessionType session_type, 271 SessionType session_type,
273 EmeInitDataType init_data_type, 272 EmeInitDataType init_data_type,
274 const std::vector<uint8_t>& init_data, 273 const std::vector<uint8_t>& init_data,
275 scoped_ptr<NewSessionCdmPromise> promise) { 274 scoped_ptr<NewSessionCdmPromise> promise) {
276 DCHECK(task_runner_->BelongsToCurrentThread()); 275 DCHECK(task_runner_->BelongsToCurrentThread());
277 276
278 uint32_t promise_id = cdm_promise_adapter_.SavePromise(promise.Pass()); 277 uint32_t promise_id = cdm_promise_adapter_.SavePromise(promise.Pass());
279 cdm_->CreateSessionAndGenerateRequest( 278 cdm_->CreateSessionAndGenerateRequest(
280 promise_id, MediaSessionTypeToCdmSessionType(session_type), 279 promise_id, MediaSessionTypeToCdmSessionType(session_type),
281 MediaInitDataTypeToCdmInitDataType(init_data_type), 280 MediaInitDataTypeToCdmInitDataType(init_data_type), init_data.data(),
282 vector_as_array(&init_data), init_data.size()); 281 init_data.size());
283 } 282 }
284 283
285 void CdmAdapter::LoadSession(SessionType session_type, 284 void CdmAdapter::LoadSession(SessionType session_type,
286 const std::string& session_id, 285 const std::string& session_id,
287 scoped_ptr<NewSessionCdmPromise> promise) { 286 scoped_ptr<NewSessionCdmPromise> promise) {
288 DCHECK(task_runner_->BelongsToCurrentThread()); 287 DCHECK(task_runner_->BelongsToCurrentThread());
289 288
290 uint32_t promise_id = cdm_promise_adapter_.SavePromise(promise.Pass()); 289 uint32_t promise_id = cdm_promise_adapter_.SavePromise(promise.Pass());
291 cdm_->LoadSession(promise_id, MediaSessionTypeToCdmSessionType(session_type), 290 cdm_->LoadSession(promise_id, MediaSessionTypeToCdmSessionType(session_type),
292 session_id.data(), session_id.size()); 291 session_id.data(), session_id.size());
293 } 292 }
294 293
295 void CdmAdapter::UpdateSession(const std::string& session_id, 294 void CdmAdapter::UpdateSession(const std::string& session_id,
296 const std::vector<uint8_t>& response, 295 const std::vector<uint8_t>& response,
297 scoped_ptr<SimpleCdmPromise> promise) { 296 scoped_ptr<SimpleCdmPromise> promise) {
298 DCHECK(task_runner_->BelongsToCurrentThread()); 297 DCHECK(task_runner_->BelongsToCurrentThread());
299 DCHECK(!session_id.empty()); 298 DCHECK(!session_id.empty());
300 DCHECK(!response.empty()); 299 DCHECK(!response.empty());
301 300
302 uint32_t promise_id = cdm_promise_adapter_.SavePromise(promise.Pass()); 301 uint32_t promise_id = cdm_promise_adapter_.SavePromise(promise.Pass());
303 cdm_->UpdateSession(promise_id, session_id.data(), session_id.size(), 302 cdm_->UpdateSession(promise_id, session_id.data(), session_id.size(),
304 vector_as_array(&response), response.size()); 303 response.data(), response.size());
305 } 304 }
306 305
307 void CdmAdapter::CloseSession(const std::string& session_id, 306 void CdmAdapter::CloseSession(const std::string& session_id,
308 scoped_ptr<SimpleCdmPromise> promise) { 307 scoped_ptr<SimpleCdmPromise> promise) {
309 DCHECK(task_runner_->BelongsToCurrentThread()); 308 DCHECK(task_runner_->BelongsToCurrentThread());
310 DCHECK(!session_id.empty()); 309 DCHECK(!session_id.empty());
311 310
312 uint32_t promise_id = cdm_promise_adapter_.SavePromise(promise.Pass()); 311 uint32_t promise_id = cdm_promise_adapter_.SavePromise(promise.Pass());
313 cdm_->CloseSession(promise_id, session_id.data(), session_id.size()); 312 cdm_->CloseSession(promise_id, session_id.data(), session_id.size());
314 } 313 }
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 // The CDM owns the returned object and must call FileIO::Close() to release it. 496 // The CDM owns the returned object and must call FileIO::Close() to release it.
498 cdm::FileIO* CdmAdapter::CreateFileIO(cdm::FileIOClient* client) { 497 cdm::FileIO* CdmAdapter::CreateFileIO(cdm::FileIOClient* client) {
499 DCHECK(task_runner_->BelongsToCurrentThread()); 498 DCHECK(task_runner_->BelongsToCurrentThread());
500 499
501 // TODO(jrummell): This should use the mojo FileIO client. 500 // TODO(jrummell): This should use the mojo FileIO client.
502 NOTIMPLEMENTED(); 501 NOTIMPLEMENTED();
503 return nullptr; 502 return nullptr;
504 } 503 }
505 504
506 } // namespace media 505 } // namespace media
OLDNEW
« no previous file with comments | « media/blink/webmediaplayer_impl.cc ('k') | media/cdm/cenc_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698