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

Side by Side Diff: chromecast/renderer/media/media_pipeline_proxy.cc

Issue 1372393007: [Chromecast] Upgrade to new CMA backend API (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Address alokp@ comments Created 5 years, 2 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/renderer/media/media_pipeline_proxy.h" 5 #include "chromecast/renderer/media/media_pipeline_proxy.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback_helpers.h" 8 #include "base/callback_helpers.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 } 73 }
74 74
75 void MediaPipelineProxyInternal::Shutdown() { 75 void MediaPipelineProxyInternal::Shutdown() {
76 DCHECK(thread_checker_.CalledOnValidThread()); 76 DCHECK(thread_checker_.CalledOnValidThread());
77 77
78 // Remove any callback on VideoPipelineProxyInternal. 78 // Remove any callback on VideoPipelineProxyInternal.
79 media_channel_proxy_->SetMediaDelegate( 79 media_channel_proxy_->SetMediaDelegate(
80 CmaMessageFilterProxy::MediaDelegate()); 80 CmaMessageFilterProxy::MediaDelegate());
81 } 81 }
82 82
83 void MediaPipelineProxyInternal::SetClient( 83 void MediaPipelineProxyInternal::SetClient(const MediaPipelineClient& client) {
84 const MediaPipelineClient& client) {
85 DCHECK(thread_checker_.CalledOnValidThread()); 84 DCHECK(thread_checker_.CalledOnValidThread());
86 DCHECK(!client.error_cb.is_null()); 85 DCHECK(!client.error_cb.is_null());
87 DCHECK(!client.buffering_state_cb.is_null()); 86 DCHECK(!client.buffering_state_cb.is_null());
88 client_ = client; 87 client_ = client;
89 88
90 CmaMessageFilterProxy::MediaDelegate delegate; 89 CmaMessageFilterProxy::MediaDelegate delegate;
91 delegate.state_changed_cb = 90 delegate.state_changed_cb =
92 base::Bind(&MediaPipelineProxyInternal::OnStateChanged, 91 base::Bind(&MediaPipelineProxyInternal::OnStateChanged,
93 base::Unretained(this)); 92 base::Unretained(this));
94 delegate.client = client; 93 delegate.client = client;
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 } 177 }
179 178
180 MediaPipelineProxy::~MediaPipelineProxy() { 179 MediaPipelineProxy::~MediaPipelineProxy() {
181 io_task_runner_->PostTask( 180 io_task_runner_->PostTask(
182 FROM_HERE, 181 FROM_HERE,
183 base::Bind(&MediaPipelineProxyInternal::Release, base::Passed(&proxy_))); 182 base::Bind(&MediaPipelineProxyInternal::Release, base::Passed(&proxy_)));
184 io_task_runner_->PostTask( 183 io_task_runner_->PostTask(
185 FROM_HERE, base::Bind(&MediaChannelProxy::Close, media_channel_proxy_)); 184 FROM_HERE, base::Bind(&MediaChannelProxy::Close, media_channel_proxy_));
186 } 185 }
187 186
188 void MediaPipelineProxy::SetClient( 187 void MediaPipelineProxy::SetClient(const MediaPipelineClient& client) {
189 const MediaPipelineClient& client) {
190 DCHECK(thread_checker_.CalledOnValidThread()); 188 DCHECK(thread_checker_.CalledOnValidThread());
191 FORWARD_ON_IO_THREAD(SetClient, client); 189 FORWARD_ON_IO_THREAD(SetClient, client);
192 } 190 }
193 191
194 void MediaPipelineProxy::SetCdm(int cdm_id) { 192 void MediaPipelineProxy::SetCdm(int cdm_id) {
195 DCHECK(thread_checker_.CalledOnValidThread()); 193 DCHECK(thread_checker_.CalledOnValidThread());
196 FORWARD_ON_IO_THREAD(SetCdm, render_frame_id_, cdm_id); 194 FORWARD_ON_IO_THREAD(SetCdm, render_frame_id_, cdm_id);
197 } 195 }
198 196
199 AudioPipeline* MediaPipelineProxy::GetAudioPipeline() const { 197 AudioPipelineProxy* MediaPipelineProxy::GetAudioPipeline() const {
200 return audio_pipeline_.get(); 198 return audio_pipeline_.get();
201 } 199 }
202 200
203 VideoPipeline* MediaPipelineProxy::GetVideoPipeline() const { 201 VideoPipelineProxy* MediaPipelineProxy::GetVideoPipeline() const {
204 return video_pipeline_.get(); 202 return video_pipeline_.get();
205 } 203 }
206 204
207 void MediaPipelineProxy::InitializeAudio( 205 void MediaPipelineProxy::InitializeAudio(
208 const ::media::AudioDecoderConfig& config, 206 const ::media::AudioDecoderConfig& config,
209 scoped_ptr<CodedFrameProvider> frame_provider, 207 scoped_ptr<CodedFrameProvider> frame_provider,
210 const ::media::PipelineStatusCB& status_cb) { 208 const ::media::PipelineStatusCB& status_cb) {
211 DCHECK(thread_checker_.CalledOnValidThread()); 209 DCHECK(thread_checker_.CalledOnValidThread());
212 has_audio_ = true; 210 has_audio_ = true;
213 audio_pipeline_->Initialize(config, frame_provider.Pass(), status_cb); 211 audio_pipeline_->Initialize(config, frame_provider.Pass(), status_cb);
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 FORWARD_ON_IO_THREAD(Stop); 273 FORWARD_ON_IO_THREAD(Stop);
276 } 274 }
277 275
278 void MediaPipelineProxy::SetPlaybackRate(double playback_rate) { 276 void MediaPipelineProxy::SetPlaybackRate(double playback_rate) {
279 DCHECK(thread_checker_.CalledOnValidThread()); 277 DCHECK(thread_checker_.CalledOnValidThread());
280 FORWARD_ON_IO_THREAD(SetPlaybackRate, playback_rate); 278 FORWARD_ON_IO_THREAD(SetPlaybackRate, playback_rate);
281 } 279 }
282 280
283 } // namespace cma 281 } // namespace cma
284 } // namespace chromecast 282 } // namespace chromecast
OLDNEW
« no previous file with comments | « chromecast/renderer/media/media_pipeline_proxy.h ('k') | chromecast/renderer/media/multi_demuxer_stream_adapter_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698