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 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
458 | 458 |
459 void MediaDrmBridge::RemoveSession( | 459 void MediaDrmBridge::RemoveSession( |
460 const std::string& session_id, | 460 const std::string& session_id, |
461 scoped_ptr<media::SimpleCdmPromise> promise) { | 461 scoped_ptr<media::SimpleCdmPromise> promise) { |
462 DVLOG(2) << __FUNCTION__; | 462 DVLOG(2) << __FUNCTION__; |
463 | 463 |
464 NOTIMPLEMENTED() << "EME persistent sessions not yet supported on Android."; | 464 NOTIMPLEMENTED() << "EME persistent sessions not yet supported on Android."; |
465 promise->reject(NOT_SUPPORTED_ERROR, 0, "RemoveSession() is not supported."); | 465 promise->reject(NOT_SUPPORTED_ERROR, 0, "RemoveSession() is not supported."); |
466 } | 466 } |
467 | 467 |
| 468 CdmContext* MediaDrmBridge::GetCdmContext() { |
| 469 DVLOG(2) << __FUNCTION__; |
| 470 |
| 471 return &media_drm_bridge_cdm_context_; |
| 472 } |
| 473 |
468 void MediaDrmBridge::DeleteOnCorrectThread() const { | 474 void MediaDrmBridge::DeleteOnCorrectThread() const { |
469 DVLOG(1) << __FUNCTION__; | 475 DVLOG(1) << __FUNCTION__; |
470 | 476 |
471 if (!task_runner_->BelongsToCurrentThread()) { | 477 if (!task_runner_->BelongsToCurrentThread()) { |
472 // When DeleteSoon returns false, |this| will be leaked, which is okay. | 478 // When DeleteSoon returns false, |this| will be leaked, which is okay. |
473 task_runner_->DeleteSoon(FROM_HERE, this); | 479 task_runner_->DeleteSoon(FROM_HERE, this); |
474 } else { | 480 } else { |
475 delete this; | 481 delete this; |
476 } | 482 } |
477 } | 483 } |
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
754 const SessionKeysChangeCB& session_keys_change_cb, | 760 const SessionKeysChangeCB& session_keys_change_cb, |
755 const SessionExpirationUpdateCB& session_expiration_update_cb) | 761 const SessionExpirationUpdateCB& session_expiration_update_cb) |
756 : scheme_uuid_(scheme_uuid), | 762 : scheme_uuid_(scheme_uuid), |
757 create_fetcher_cb_(create_fetcher_cb), | 763 create_fetcher_cb_(create_fetcher_cb), |
758 session_message_cb_(session_message_cb), | 764 session_message_cb_(session_message_cb), |
759 session_closed_cb_(session_closed_cb), | 765 session_closed_cb_(session_closed_cb), |
760 legacy_session_error_cb_(legacy_session_error_cb), | 766 legacy_session_error_cb_(legacy_session_error_cb), |
761 session_keys_change_cb_(session_keys_change_cb), | 767 session_keys_change_cb_(session_keys_change_cb), |
762 session_expiration_update_cb_(session_expiration_update_cb), | 768 session_expiration_update_cb_(session_expiration_update_cb), |
763 task_runner_(base::ThreadTaskRunnerHandle::Get()), | 769 task_runner_(base::ThreadTaskRunnerHandle::Get()), |
| 770 media_drm_bridge_cdm_context_(this), |
764 weak_factory_(this) { | 771 weak_factory_(this) { |
765 DVLOG(1) << __FUNCTION__; | 772 DVLOG(1) << __FUNCTION__; |
766 | 773 |
767 DCHECK(!create_fetcher_cb_.is_null()); | 774 DCHECK(!create_fetcher_cb_.is_null()); |
768 | 775 |
769 JNIEnv* env = AttachCurrentThread(); | 776 JNIEnv* env = AttachCurrentThread(); |
770 CHECK(env); | 777 CHECK(env); |
771 | 778 |
772 ScopedJavaLocalRef<jbyteArray> j_scheme_uuid = | 779 ScopedJavaLocalRef<jbyteArray> j_scheme_uuid = |
773 base::android::ToJavaByteArray(env, &scheme_uuid[0], scheme_uuid.size()); | 780 base::android::ToJavaByteArray(env, &scheme_uuid[0], scheme_uuid.size()); |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
873 JNIEnv* env = AttachCurrentThread(); | 880 JNIEnv* env = AttachCurrentThread(); |
874 | 881 |
875 ScopedJavaLocalRef<jbyteArray> j_response = base::android::ToJavaByteArray( | 882 ScopedJavaLocalRef<jbyteArray> j_response = base::android::ToJavaByteArray( |
876 env, reinterpret_cast<const uint8_t*>(response.data()), response.size()); | 883 env, reinterpret_cast<const uint8_t*>(response.data()), response.size()); |
877 | 884 |
878 Java_MediaDrmBridge_processProvisionResponse(env, j_media_drm_.obj(), success, | 885 Java_MediaDrmBridge_processProvisionResponse(env, j_media_drm_.obj(), success, |
879 j_response.obj()); | 886 j_response.obj()); |
880 } | 887 } |
881 | 888 |
882 } // namespace media | 889 } // namespace media |
OLD | NEW |