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

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

Issue 1142513004: Chromecast: MessageLoopProxy cleanup --> SingleThreadTaskRunner. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 7 months 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/message_loop/message_loop_proxy.h" 9 #include "base/single_thread_task_runner.h"
10 #include "media/base/cdm_key_information.h" 10 #include "media/base/cdm_key_information.h"
11 #include "media/base/cdm_promise.h" 11 #include "media/base/cdm_promise.h"
12 #include "media/cdm/player_tracker_impl.h" 12 #include "media/cdm/player_tracker_impl.h"
13 13
14 namespace chromecast { 14 namespace chromecast {
15 namespace media { 15 namespace media {
16 16
17 BrowserCdmCast::BrowserCdmCast() { 17 BrowserCdmCast::BrowserCdmCast() {
18 thread_checker_.DetachFromThread(); 18 thread_checker_.DetachFromThread();
19 } 19 }
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 scoped_ptr< ::media::CdmKeyInformation> cdm_key_information( 94 scoped_ptr< ::media::CdmKeyInformation> cdm_key_information(
95 new ::media::CdmKeyInformation()); 95 new ::media::CdmKeyInformation());
96 cdm_key_information->key_id.assign(key.first.begin(), key.first.end()); 96 cdm_key_information->key_id.assign(key.first.begin(), key.first.end());
97 cdm_keys_info.push_back(cdm_key_information.release()); 97 cdm_keys_info.push_back(cdm_key_information.release());
98 } 98 }
99 session_keys_change_cb_.Run(session_id, true, cdm_keys_info.Pass()); 99 session_keys_change_cb_.Run(session_id, true, cdm_keys_info.Pass());
100 100
101 player_tracker_impl_->NotifyNewKey(); 101 player_tracker_impl_->NotifyNewKey();
102 } 102 }
103 103
104 // A macro runs current member function on |cdm_loop_| thread. 104 // A macro runs current member function on |task_runner_| thread.
105 #define FORWARD_ON_CDM_THREAD(param_fn, ...) \ 105 #define FORWARD_ON_CDM_THREAD(param_fn, ...) \
106 cdm_loop_->PostTask( \ 106 task_runner_->PostTask( \
107 FROM_HERE, \ 107 FROM_HERE, \
108 base::Bind(&BrowserCdmCast::param_fn, \ 108 base::Bind(&BrowserCdmCast::param_fn, \
109 base::Unretained(browser_cdm_cast_.get()), ##__VA_ARGS__)) 109 base::Unretained(browser_cdm_cast_.get()), ##__VA_ARGS__))
110 110
111
112 BrowserCdmCastUi::BrowserCdmCastUi( 111 BrowserCdmCastUi::BrowserCdmCastUi(
113 scoped_ptr<BrowserCdmCast> browser_cdm_cast, 112 scoped_ptr<BrowserCdmCast> browser_cdm_cast,
114 const scoped_refptr<base::MessageLoopProxy>& cdm_loop) 113 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner)
115 : browser_cdm_cast_(browser_cdm_cast.Pass()), 114 : browser_cdm_cast_(browser_cdm_cast.Pass()), task_runner_(task_runner) {
116 cdm_loop_(cdm_loop) {
117 } 115 }
118 116
119 BrowserCdmCastUi::~BrowserCdmCastUi() { 117 BrowserCdmCastUi::~BrowserCdmCastUi() {
120 DCHECK(thread_checker_.CalledOnValidThread()); 118 DCHECK(thread_checker_.CalledOnValidThread());
121 cdm_loop_->DeleteSoon(FROM_HERE, browser_cdm_cast_.release()); 119 task_runner_->DeleteSoon(FROM_HERE, browser_cdm_cast_.release());
122 } 120 }
123 121
124 int BrowserCdmCastUi::RegisterPlayer(const base::Closure& new_key_cb, 122 int BrowserCdmCastUi::RegisterPlayer(const base::Closure& new_key_cb,
125 const base::Closure& cdm_unset_cb) { 123 const base::Closure& cdm_unset_cb) {
126 NOTREACHED() << "RegisterPlayer should be called on BrowserCdmCast"; 124 NOTREACHED() << "RegisterPlayer should be called on BrowserCdmCast";
127 return -1; 125 return -1;
128 } 126 }
129 127
130 void BrowserCdmCastUi::UnregisterPlayer(int registration_id) { 128 void BrowserCdmCastUi::UnregisterPlayer(int registration_id) {
131 NOTREACHED() << "UnregisterPlayer should be called on BrowserCdmCast"; 129 NOTREACHED() << "UnregisterPlayer should be called on BrowserCdmCast";
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 return nullptr; 198 return nullptr;
201 } 199 }
202 200
203 // A default empty implementation for subclasses that don't need to provide 201 // A default empty implementation for subclasses that don't need to provide
204 // any key system specific initialization. 202 // any key system specific initialization.
205 void BrowserCdmCast::InitializeInternal() { 203 void BrowserCdmCast::InitializeInternal() {
206 } 204 }
207 205
208 } // namespace media 206 } // namespace media
209 } // namespace chromecast 207 } // namespace chromecast
OLDNEW
« no previous file with comments | « chromecast/media/cdm/browser_cdm_cast.h ('k') | chromecast/media/cma/backend/audio_video_pipeline_device_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698