OLD | NEW |
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 <stddef.h> | 7 #include <stddef.h> |
8 #include <algorithm> | 8 #include <algorithm> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 | 296 |
297 return MediaDrmBridge::Create(key_system, security_level, create_fetcher_cb, | 297 return MediaDrmBridge::Create(key_system, security_level, create_fetcher_cb, |
298 SessionMessageCB(), SessionClosedCB(), | 298 SessionMessageCB(), SessionClosedCB(), |
299 LegacySessionErrorCB(), SessionKeysChangeCB(), | 299 LegacySessionErrorCB(), SessionKeysChangeCB(), |
300 SessionExpirationUpdateCB()); | 300 SessionExpirationUpdateCB()); |
301 } | 301 } |
302 | 302 |
303 void MediaDrmBridge::SetServerCertificate( | 303 void MediaDrmBridge::SetServerCertificate( |
304 const std::vector<uint8_t>& certificate, | 304 const std::vector<uint8_t>& certificate, |
305 scoped_ptr<media::SimpleCdmPromise> promise) { | 305 scoped_ptr<media::SimpleCdmPromise> promise) { |
306 DVLOG(2) << __FUNCTION__; | 306 DVLOG(2) << __FUNCTION__ << "(" << certificate.size() << " bytes)"; |
307 | 307 |
308 DCHECK(!certificate.empty()); | 308 DCHECK(!certificate.empty()); |
309 | 309 |
310 JNIEnv* env = AttachCurrentThread(); | 310 JNIEnv* env = AttachCurrentThread(); |
311 ScopedJavaLocalRef<jbyteArray> j_certificate; | 311 ScopedJavaLocalRef<jbyteArray> j_certificate = base::android::ToJavaByteArray( |
| 312 env, certificate.data(), certificate.size()); |
312 if (Java_MediaDrmBridge_setServerCertificate(env, j_media_drm_.obj(), | 313 if (Java_MediaDrmBridge_setServerCertificate(env, j_media_drm_.obj(), |
313 j_certificate.obj())) { | 314 j_certificate.obj())) { |
314 promise->resolve(); | 315 promise->resolve(); |
315 } else { | 316 } else { |
316 promise->reject(INVALID_ACCESS_ERROR, 0, "Set server certificate failed."); | 317 promise->reject(INVALID_ACCESS_ERROR, 0, "Set server certificate failed."); |
317 } | 318 } |
318 } | 319 } |
319 | 320 |
320 void MediaDrmBridge::CreateSessionAndGenerateRequest( | 321 void MediaDrmBridge::CreateSessionAndGenerateRequest( |
321 SessionType session_type, | 322 SessionType session_type, |
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
829 JNIEnv* env = AttachCurrentThread(); | 830 JNIEnv* env = AttachCurrentThread(); |
830 | 831 |
831 ScopedJavaLocalRef<jbyteArray> j_response = base::android::ToJavaByteArray( | 832 ScopedJavaLocalRef<jbyteArray> j_response = base::android::ToJavaByteArray( |
832 env, reinterpret_cast<const uint8_t*>(response.data()), response.size()); | 833 env, reinterpret_cast<const uint8_t*>(response.data()), response.size()); |
833 | 834 |
834 Java_MediaDrmBridge_processProvisionResponse(env, j_media_drm_.obj(), success, | 835 Java_MediaDrmBridge_processProvisionResponse(env, j_media_drm_.obj(), success, |
835 j_response.obj()); | 836 j_response.obj()); |
836 } | 837 } |
837 | 838 |
838 } // namespace media | 839 } // namespace media |
OLD | NEW |