Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Side by Side Diff: chromecast/media/cdm/browser_cdm_cast.cc

Issue 1407933010: media: Make MediaKeys ref-counted. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase only Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/browser_cdm_cast.h" 5 #include "chromecast/media/cdm/browser_cdm_cast.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/single_thread_task_runner.h" 9 #include "base/single_thread_task_runner.h"
10 #include "base/thread_task_runner_handle.h" 10 #include "base/thread_task_runner_handle.h"
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 } 82 }
83 83
84 void BrowserCdmCast::Initialize( 84 void BrowserCdmCast::Initialize(
85 const ::media::SessionMessageCB& session_message_cb, 85 const ::media::SessionMessageCB& session_message_cb,
86 const ::media::SessionClosedCB& session_closed_cb, 86 const ::media::SessionClosedCB& session_closed_cb,
87 const ::media::LegacySessionErrorCB& legacy_session_error_cb, 87 const ::media::LegacySessionErrorCB& legacy_session_error_cb,
88 const ::media::SessionKeysChangeCB& session_keys_change_cb, 88 const ::media::SessionKeysChangeCB& session_keys_change_cb,
89 const ::media::SessionExpirationUpdateCB& session_expiration_update_cb) { 89 const ::media::SessionExpirationUpdateCB& session_expiration_update_cb) {
90 DCHECK(thread_checker_.CalledOnValidThread()); 90 DCHECK(thread_checker_.CalledOnValidThread());
91 91
92 player_tracker_impl_.reset(new ::media::PlayerTrackerImpl); 92 player_tracker_impl_.reset(new ::media::PlayerTrackerImpl());
93 93
94 session_message_cb_ = session_message_cb; 94 session_message_cb_ = session_message_cb;
95 session_closed_cb_ = session_closed_cb; 95 session_closed_cb_ = session_closed_cb;
96 legacy_session_error_cb_ = legacy_session_error_cb; 96 legacy_session_error_cb_ = legacy_session_error_cb;
97 session_keys_change_cb_ = session_keys_change_cb; 97 session_keys_change_cb_ = session_keys_change_cb;
98 session_expiration_update_cb_ = session_expiration_update_cb; 98 session_expiration_update_cb_ = session_expiration_update_cb;
99 99
100 InitializeInternal(); 100 InitializeInternal();
101 } 101 }
102 102
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 } 145 }
146 146
147 // A macro runs current member function on |task_runner_| thread. 147 // A macro runs current member function on |task_runner_| thread.
148 #define FORWARD_ON_CDM_THREAD(param_fn, ...) \ 148 #define FORWARD_ON_CDM_THREAD(param_fn, ...) \
149 task_runner_->PostTask( \ 149 task_runner_->PostTask( \
150 FROM_HERE, \ 150 FROM_HERE, \
151 base::Bind(&BrowserCdmCast::param_fn, \ 151 base::Bind(&BrowserCdmCast::param_fn, \
152 base::Unretained(browser_cdm_cast_.get()), ##__VA_ARGS__)) 152 base::Unretained(browser_cdm_cast_.get()), ##__VA_ARGS__))
153 153
154 BrowserCdmCastUi::BrowserCdmCastUi( 154 BrowserCdmCastUi::BrowserCdmCastUi(
155 scoped_ptr<BrowserCdmCast> browser_cdm_cast, 155 const scoped_refptr<BrowserCdmCast>& browser_cdm_cast,
156 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) 156 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner)
157 : browser_cdm_cast_(browser_cdm_cast.Pass()), task_runner_(task_runner) { 157 : browser_cdm_cast_(browser_cdm_cast), task_runner_(task_runner) {}
158 }
159 158
160 BrowserCdmCastUi::~BrowserCdmCastUi() { 159 BrowserCdmCastUi::~BrowserCdmCastUi() {
161 DCHECK(thread_checker_.CalledOnValidThread()); 160 DCHECK(thread_checker_.CalledOnValidThread());
162 task_runner_->DeleteSoon(FROM_HERE, browser_cdm_cast_.release()); 161 browser_cdm_cast_->AddRef();
163 } 162 BrowserCdmCast* raw_cdm = browser_cdm_cast_.get();
164 163 browser_cdm_cast_ = nullptr;
165 int BrowserCdmCastUi::RegisterPlayer(const base::Closure& new_key_cb, 164 task_runner_->ReleaseSoon(FROM_HERE, raw_cdm);
166 const base::Closure& cdm_unset_cb) {
167 NOTREACHED() << "RegisterPlayer should be called on BrowserCdmCast";
168 return -1;
169 }
170
171 void BrowserCdmCastUi::UnregisterPlayer(int registration_id) {
172 NOTREACHED() << "UnregisterPlayer should be called on BrowserCdmCast";
173 } 165 }
174 166
175 BrowserCdmCast* BrowserCdmCastUi::browser_cdm_cast() const { 167 BrowserCdmCast* BrowserCdmCastUi::browser_cdm_cast() const {
176 DCHECK(thread_checker_.CalledOnValidThread()); 168 DCHECK(thread_checker_.CalledOnValidThread());
177 return browser_cdm_cast_.get(); 169 return browser_cdm_cast_.get();
178 } 170 }
179 171
180 void BrowserCdmCastUi::SetServerCertificate( 172 void BrowserCdmCastUi::SetServerCertificate(
181 const std::vector<uint8_t>& certificate, 173 const std::vector<uint8_t>& certificate,
182 scoped_ptr<::media::SimpleCdmPromise> promise) { 174 scoped_ptr<::media::SimpleCdmPromise> promise) {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 return nullptr; 236 return nullptr;
245 } 237 }
246 238
247 // A default empty implementation for subclasses that don't need to provide 239 // A default empty implementation for subclasses that don't need to provide
248 // any key system specific initialization. 240 // any key system specific initialization.
249 void BrowserCdmCast::InitializeInternal() { 241 void BrowserCdmCast::InitializeInternal() {
250 } 242 }
251 243
252 } // namespace media 244 } // namespace media
253 } // namespace chromecast 245 } // namespace chromecast
OLDNEW
« no previous file with comments | « chromecast/media/cdm/browser_cdm_cast.h ('k') | content/browser/media/android/media_drm_credential_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698