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

Side by Side Diff: media/base/android/media_drm_bridge.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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "media/base/android/media_drm_bridge.h" 5 #include "media/base/android/media_drm_bridge.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/android/build_info.h" 9 #include "base/android/build_info.h"
10 #include "base/android/jni_array.h" 10 #include "base/android/jni_array.h"
11 #include "base/android/jni_string.h" 11 #include "base/android/jni_string.h"
12 #include "base/bind.h" 12 #include "base/bind.h"
13 #include "base/callback_helpers.h" 13 #include "base/callback_helpers.h"
14 #include "base/containers/hash_tables.h" 14 #include "base/containers/hash_tables.h"
15 #include "base/lazy_instance.h" 15 #include "base/lazy_instance.h"
16 #include "base/location.h" 16 #include "base/location.h"
17 #include "base/logging.h" 17 #include "base/logging.h"
18 #include "base/single_thread_task_runner.h" 18 #include "base/single_thread_task_runner.h"
19 #include "base/stl_util.h"
20 #include "base/strings/string_number_conversions.h" 19 #include "base/strings/string_number_conversions.h"
21 #include "base/strings/string_util.h" 20 #include "base/strings/string_util.h"
22 #include "base/sys_byteorder.h" 21 #include "base/sys_byteorder.h"
23 #include "base/sys_info.h" 22 #include "base/sys_info.h"
24 #include "base/thread_task_runner_handle.h" 23 #include "base/thread_task_runner_handle.h"
25 #include "jni/MediaDrmBridge_jni.h" 24 #include "jni/MediaDrmBridge_jni.h"
26 #include "media/base/android/media_client_android.h" 25 #include "media/base/android/media_client_android.h"
27 #include "media/base/android/media_drm_bridge_delegate.h" 26 #include "media/base/android/media_drm_bridge_delegate.h"
28 #include "media/base/android/provision_fetcher.h" 27 #include "media/base/android/provision_fetcher.h"
29 #include "media/base/cdm_key_information.h" 28 #include "media/base/cdm_key_information.h"
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 client->GetMediaDrmBridgeDelegate(scheme_uuid_); 333 client->GetMediaDrmBridgeDelegate(scheme_uuid_);
335 if (delegate) { 334 if (delegate) {
336 std::vector<uint8> init_data_from_delegate; 335 std::vector<uint8> init_data_from_delegate;
337 std::vector<std::string> optional_parameters_from_delegate; 336 std::vector<std::string> optional_parameters_from_delegate;
338 if (!delegate->OnCreateSession(init_data_type, init_data, 337 if (!delegate->OnCreateSession(init_data_type, init_data,
339 &init_data_from_delegate, 338 &init_data_from_delegate,
340 &optional_parameters_from_delegate)) { 339 &optional_parameters_from_delegate)) {
341 promise->reject(INVALID_ACCESS_ERROR, 0, "Invalid init data."); 340 promise->reject(INVALID_ACCESS_ERROR, 0, "Invalid init data.");
342 } 341 }
343 if (!init_data_from_delegate.empty()) { 342 if (!init_data_from_delegate.empty()) {
344 j_init_data = base::android::ToJavaByteArray( 343 j_init_data =
345 env, vector_as_array(&init_data_from_delegate), 344 base::android::ToJavaByteArray(env, init_data_from_delegate.data(),
346 init_data_from_delegate.size()); 345 init_data_from_delegate.size());
347 } 346 }
348 if (!optional_parameters_from_delegate.empty()) { 347 if (!optional_parameters_from_delegate.empty()) {
349 j_optional_parameters = base::android::ToJavaArrayOfStrings( 348 j_optional_parameters = base::android::ToJavaArrayOfStrings(
350 env, optional_parameters_from_delegate); 349 env, optional_parameters_from_delegate);
351 } 350 }
352 } 351 }
353 } 352 }
354 353
355 if (j_init_data.is_null()) { 354 if (j_init_data.is_null()) {
356 j_init_data = base::android::ToJavaByteArray( 355 j_init_data =
357 env, vector_as_array(&init_data), init_data.size()); 356 base::android::ToJavaByteArray(env, init_data.data(), init_data.size());
358 } 357 }
359 358
360 ScopedJavaLocalRef<jstring> j_mime = 359 ScopedJavaLocalRef<jstring> j_mime =
361 ConvertUTF8ToJavaString(env, ConvertInitDataType(init_data_type)); 360 ConvertUTF8ToJavaString(env, ConvertInitDataType(init_data_type));
362 uint32_t promise_id = cdm_promise_adapter_->SavePromise(promise.Pass()); 361 uint32_t promise_id = cdm_promise_adapter_->SavePromise(promise.Pass());
363 Java_MediaDrmBridge_createSessionFromNative( 362 Java_MediaDrmBridge_createSessionFromNative(
364 env, j_media_drm_.obj(), j_init_data.obj(), j_mime.obj(), 363 env, j_media_drm_.obj(), j_init_data.obj(), j_mime.obj(),
365 j_optional_parameters.obj(), promise_id); 364 j_optional_parameters.obj(), promise_id);
366 } 365 }
367 366
368 void MediaDrmBridge::LoadSession( 367 void MediaDrmBridge::LoadSession(
369 SessionType session_type, 368 SessionType session_type,
370 const std::string& session_id, 369 const std::string& session_id,
371 scoped_ptr<media::NewSessionCdmPromise> promise) { 370 scoped_ptr<media::NewSessionCdmPromise> promise) {
372 DVLOG(2) << __FUNCTION__; 371 DVLOG(2) << __FUNCTION__;
373 372
374 NOTIMPLEMENTED() << "EME persistent sessions not yet supported on Android."; 373 NOTIMPLEMENTED() << "EME persistent sessions not yet supported on Android.";
375 promise->reject(NOT_SUPPORTED_ERROR, 0, "LoadSession() is not supported."); 374 promise->reject(NOT_SUPPORTED_ERROR, 0, "LoadSession() is not supported.");
376 } 375 }
377 376
378 void MediaDrmBridge::UpdateSession( 377 void MediaDrmBridge::UpdateSession(
379 const std::string& session_id, 378 const std::string& session_id,
380 const std::vector<uint8_t>& response, 379 const std::vector<uint8_t>& response,
381 scoped_ptr<media::SimpleCdmPromise> promise) { 380 scoped_ptr<media::SimpleCdmPromise> promise) {
382 DVLOG(2) << __FUNCTION__; 381 DVLOG(2) << __FUNCTION__;
383 382
384 JNIEnv* env = AttachCurrentThread(); 383 JNIEnv* env = AttachCurrentThread();
385 ScopedJavaLocalRef<jbyteArray> j_response = base::android::ToJavaByteArray( 384 ScopedJavaLocalRef<jbyteArray> j_response =
386 env, vector_as_array(&response), response.size()); 385 base::android::ToJavaByteArray(env, response.data(), response.size());
387 ScopedJavaLocalRef<jbyteArray> j_session_id = base::android::ToJavaByteArray( 386 ScopedJavaLocalRef<jbyteArray> j_session_id = base::android::ToJavaByteArray(
388 env, reinterpret_cast<const uint8_t*>(session_id.data()), 387 env, reinterpret_cast<const uint8_t*>(session_id.data()),
389 session_id.size()); 388 session_id.size());
390 uint32_t promise_id = cdm_promise_adapter_->SavePromise(promise.Pass()); 389 uint32_t promise_id = cdm_promise_adapter_->SavePromise(promise.Pass());
391 Java_MediaDrmBridge_updateSession(env, j_media_drm_.obj(), j_session_id.obj(), 390 Java_MediaDrmBridge_updateSession(env, j_media_drm_.obj(), j_session_id.obj(),
392 j_response.obj(), promise_id); 391 j_response.obj(), promise_id);
393 } 392 }
394 393
395 void MediaDrmBridge::CloseSession(const std::string& session_id, 394 void MediaDrmBridge::CloseSession(const std::string& session_id,
396 scoped_ptr<media::SimpleCdmPromise> promise) { 395 scoped_ptr<media::SimpleCdmPromise> promise) {
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after
801 JNIEnv* env = AttachCurrentThread(); 800 JNIEnv* env = AttachCurrentThread();
802 801
803 ScopedJavaLocalRef<jbyteArray> j_response = base::android::ToJavaByteArray( 802 ScopedJavaLocalRef<jbyteArray> j_response = base::android::ToJavaByteArray(
804 env, reinterpret_cast<const uint8_t*>(response.data()), response.size()); 803 env, reinterpret_cast<const uint8_t*>(response.data()), response.size());
805 804
806 Java_MediaDrmBridge_processProvisionResponse(env, j_media_drm_.obj(), success, 805 Java_MediaDrmBridge_processProvisionResponse(env, j_media_drm_.obj(), success,
807 j_response.obj()); 806 j_response.obj());
808 } 807 }
809 808
810 } // namespace media 809 } // namespace media
OLDNEW
« no previous file with comments | « google_apis/gcm/base/socket_stream_unittest.cc ('k') | media/base/android/webaudio_media_codec_bridge.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698