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 <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" |
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 | 286 |
287 ScopedJavaLocalRef<jstring> j_security_level = | 287 ScopedJavaLocalRef<jstring> j_security_level = |
288 ConvertUTF8ToJavaString(env, security_level_str); | 288 ConvertUTF8ToJavaString(env, security_level_str); |
289 return Java_MediaDrmBridge_setSecurityLevel( | 289 return Java_MediaDrmBridge_setSecurityLevel( |
290 env, j_media_drm_.obj(), j_security_level.obj()); | 290 env, j_media_drm_.obj(), j_security_level.obj()); |
291 } | 291 } |
292 | 292 |
293 void MediaDrmBridge::SetServerCertificate( | 293 void MediaDrmBridge::SetServerCertificate( |
294 const std::vector<uint8_t>& certificate, | 294 const std::vector<uint8_t>& certificate, |
295 scoped_ptr<media::SimpleCdmPromise> promise) { | 295 scoped_ptr<media::SimpleCdmPromise> promise) { |
296 promise->reject(NOT_SUPPORTED_ERROR, 0, | 296 DCHECK(!certificate.empty()); |
297 "SetServerCertificate() is not supported."); | 297 |
| 298 JNIEnv* env = AttachCurrentThread(); |
| 299 ScopedJavaLocalRef<jbyteArray> j_certificate; |
| 300 if (Java_MediaDrmBridge_setServerCertificate(env, j_media_drm_.obj(), |
| 301 j_certificate.obj())) { |
| 302 promise->resolve(); |
| 303 } else { |
| 304 promise->reject(INVALID_ACCESS_ERROR, 0, "Set server certificate failed."); |
| 305 } |
298 } | 306 } |
299 | 307 |
300 void MediaDrmBridge::CreateSessionAndGenerateRequest( | 308 void MediaDrmBridge::CreateSessionAndGenerateRequest( |
301 SessionType session_type, | 309 SessionType session_type, |
302 media::EmeInitDataType init_data_type, | 310 media::EmeInitDataType init_data_type, |
303 const std::vector<uint8_t>& init_data, | 311 const std::vector<uint8_t>& init_data, |
304 scoped_ptr<media::NewSessionCdmPromise> promise) { | 312 scoped_ptr<media::NewSessionCdmPromise> promise) { |
305 DVLOG(1) << __FUNCTION__; | 313 DVLOG(1) << __FUNCTION__; |
306 | 314 |
307 if (session_type != media::MediaKeys::TEMPORARY_SESSION) { | 315 if (session_type != media::MediaKeys::TEMPORARY_SESSION) { |
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
536 JNIEnv* env = AttachCurrentThread(); | 544 JNIEnv* env = AttachCurrentThread(); |
537 Java_MediaDrmBridge_resetDeviceCredentials(env, j_media_drm_.obj()); | 545 Java_MediaDrmBridge_resetDeviceCredentials(env, j_media_drm_.obj()); |
538 } | 546 } |
539 | 547 |
540 void MediaDrmBridge::OnResetDeviceCredentialsCompleted( | 548 void MediaDrmBridge::OnResetDeviceCredentialsCompleted( |
541 JNIEnv* env, jobject, bool success) { | 549 JNIEnv* env, jobject, bool success) { |
542 base::ResetAndReturn(&reset_credentials_cb_).Run(success); | 550 base::ResetAndReturn(&reset_credentials_cb_).Run(success); |
543 } | 551 } |
544 | 552 |
545 } // namespace media | 553 } // namespace media |
OLD | NEW |