| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "chromecast/media/cdm/cast_cdm.h" | 5 #include "chromecast/media/cdm/cast_cdm.h" | 
| 6 | 6 | 
| 7 #include <utility> | 7 #include <utility> | 
| 8 | 8 | 
| 9 #include "base/bind.h" | 9 #include "base/bind.h" | 
| 10 #include "base/location.h" | 10 #include "base/location.h" | 
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 69 CastCdm::~CastCdm() { | 69 CastCdm::~CastCdm() { | 
| 70   DCHECK(thread_checker_.CalledOnValidThread()); | 70   DCHECK(thread_checker_.CalledOnValidThread()); | 
| 71   DCHECK(player_tracker_impl_.get()); | 71   DCHECK(player_tracker_impl_.get()); | 
| 72   player_tracker_impl_->NotifyCdmUnset(); | 72   player_tracker_impl_->NotifyCdmUnset(); | 
| 73   media_resource_tracker_->DecrementUsageCount(); | 73   media_resource_tracker_->DecrementUsageCount(); | 
| 74 } | 74 } | 
| 75 | 75 | 
| 76 void CastCdm::Initialize( | 76 void CastCdm::Initialize( | 
| 77     const ::media::SessionMessageCB& session_message_cb, | 77     const ::media::SessionMessageCB& session_message_cb, | 
| 78     const ::media::SessionClosedCB& session_closed_cb, | 78     const ::media::SessionClosedCB& session_closed_cb, | 
| 79     const ::media::LegacySessionErrorCB& legacy_session_error_cb, |  | 
| 80     const ::media::SessionKeysChangeCB& session_keys_change_cb, | 79     const ::media::SessionKeysChangeCB& session_keys_change_cb, | 
| 81     const ::media::SessionExpirationUpdateCB& session_expiration_update_cb) { | 80     const ::media::SessionExpirationUpdateCB& session_expiration_update_cb) { | 
| 82   DCHECK(thread_checker_.CalledOnValidThread()); | 81   DCHECK(thread_checker_.CalledOnValidThread()); | 
| 83 | 82 | 
| 84   media_resource_tracker_->IncrementUsageCount(); | 83   media_resource_tracker_->IncrementUsageCount(); | 
| 85   player_tracker_impl_.reset(new ::media::PlayerTrackerImpl()); | 84   player_tracker_impl_.reset(new ::media::PlayerTrackerImpl()); | 
| 86 | 85 | 
| 87   session_message_cb_ = session_message_cb; | 86   session_message_cb_ = session_message_cb; | 
| 88   session_closed_cb_ = session_closed_cb; | 87   session_closed_cb_ = session_closed_cb; | 
| 89   legacy_session_error_cb_ = legacy_session_error_cb; |  | 
| 90   session_keys_change_cb_ = session_keys_change_cb; | 88   session_keys_change_cb_ = session_keys_change_cb; | 
| 91   session_expiration_update_cb_ = session_expiration_update_cb; | 89   session_expiration_update_cb_ = session_expiration_update_cb; | 
| 92 | 90 | 
| 93   InitializeInternal(); | 91   InitializeInternal(); | 
| 94 } | 92 } | 
| 95 | 93 | 
| 96 int CastCdm::RegisterPlayer(const base::Closure& new_key_cb, | 94 int CastCdm::RegisterPlayer(const base::Closure& new_key_cb, | 
| 97                             const base::Closure& cdm_unset_cb) { | 95                             const base::Closure& cdm_unset_cb) { | 
| 98   DCHECK(thread_checker_.CalledOnValidThread()); | 96   DCHECK(thread_checker_.CalledOnValidThread()); | 
| 99   return player_tracker_impl_->RegisterPlayer(new_key_cb, cdm_unset_cb); | 97   return player_tracker_impl_->RegisterPlayer(new_key_cb, cdm_unset_cb); | 
| 100 } | 98 } | 
| 101 | 99 | 
| 102 void CastCdm::UnregisterPlayer(int registration_id) { | 100 void CastCdm::UnregisterPlayer(int registration_id) { | 
| 103   DCHECK(thread_checker_.CalledOnValidThread()); | 101   DCHECK(thread_checker_.CalledOnValidThread()); | 
| 104   player_tracker_impl_->UnregisterPlayer(registration_id); | 102   player_tracker_impl_->UnregisterPlayer(registration_id); | 
| 105 } | 103 } | 
| 106 | 104 | 
| 107 ::media::CdmContext* CastCdm::GetCdmContext() { | 105 ::media::CdmContext* CastCdm::GetCdmContext() { | 
| 108   return cast_cdm_context_.get(); | 106   return cast_cdm_context_.get(); | 
| 109 } | 107 } | 
| 110 | 108 | 
| 111 void CastCdm::OnSessionMessage(const std::string& session_id, | 109 void CastCdm::OnSessionMessage(const std::string& session_id, | 
| 112                                const std::vector<uint8_t>& message, | 110                                const std::vector<uint8_t>& message, | 
| 113                                ::media::MediaKeys::MessageType message_type) { | 111                                ::media::MediaKeys::MessageType message_type) { | 
| 114   session_message_cb_.Run(session_id, message_type, message, GURL::EmptyGURL()); | 112   session_message_cb_.Run(session_id, message_type, message); | 
| 115 } | 113 } | 
| 116 | 114 | 
| 117 void CastCdm::OnSessionClosed(const std::string& session_id) { | 115 void CastCdm::OnSessionClosed(const std::string& session_id) { | 
| 118   session_closed_cb_.Run(session_id); | 116   session_closed_cb_.Run(session_id); | 
| 119 } | 117 } | 
| 120 | 118 | 
| 121 void CastCdm::OnSessionKeysChange(const std::string& session_id, | 119 void CastCdm::OnSessionKeysChange(const std::string& session_id, | 
| 122                                   bool newly_usable_keys, | 120                                   bool newly_usable_keys, | 
| 123                                   ::media::CdmKeysInfo keys_info) { | 121                                   ::media::CdmKeysInfo keys_info) { | 
| 124   session_keys_change_cb_.Run(session_id, newly_usable_keys, | 122   session_keys_change_cb_.Run(session_id, newly_usable_keys, | 
| (...skipping 13 matching lines...) Expand all  Loading... | 
| 138     keys_info->push_back(cdm_key_information.release()); | 136     keys_info->push_back(cdm_key_information.release()); | 
| 139   } | 137   } | 
| 140 } | 138 } | 
| 141 | 139 | 
| 142 // A default empty implementation for subclasses that don't need to provide | 140 // A default empty implementation for subclasses that don't need to provide | 
| 143 // any key system specific initialization. | 141 // any key system specific initialization. | 
| 144 void CastCdm::InitializeInternal() {} | 142 void CastCdm::InitializeInternal() {} | 
| 145 | 143 | 
| 146 }  // namespace media | 144 }  // namespace media | 
| 147 }  // namespace chromecast | 145 }  // namespace chromecast | 
| OLD | NEW | 
|---|