| 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 |