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/media/cma/pipeline/media_pipeline_impl.cc

Issue 1148253006: Chromecast: Use std::vector to pass video config in CMA (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add more DCHECK Created 5 years, 6 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/cma/pipeline/media_pipeline_impl.h" 5 #include "chromecast/media/cma/pipeline/media_pipeline_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/callback_helpers.h" 9 #include "base/callback_helpers.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 if (clock_device_->GetState() == MediaClockDevice::kStateUninitialized && 137 if (clock_device_->GetState() == MediaClockDevice::kStateUninitialized &&
138 !clock_device_->SetState(MediaClockDevice::kStateIdle)) { 138 !clock_device_->SetState(MediaClockDevice::kStateIdle)) {
139 status_cb.Run(::media::PIPELINE_ERROR_INITIALIZATION_FAILED); 139 status_cb.Run(::media::PIPELINE_ERROR_INITIALIZATION_FAILED);
140 return; 140 return;
141 } 141 }
142 has_audio_ = true; 142 has_audio_ = true;
143 audio_pipeline_->Initialize(config, frame_provider.Pass(), status_cb); 143 audio_pipeline_->Initialize(config, frame_provider.Pass(), status_cb);
144 } 144 }
145 145
146 void MediaPipelineImpl::InitializeVideo( 146 void MediaPipelineImpl::InitializeVideo(
147 const ::media::VideoDecoderConfig& config, 147 const std::vector<::media::VideoDecoderConfig>& configs,
148 scoped_ptr<CodedFrameProvider> frame_provider, 148 scoped_ptr<CodedFrameProvider> frame_provider,
149 const ::media::PipelineStatusCB& status_cb) { 149 const ::media::PipelineStatusCB& status_cb) {
150 DCHECK(thread_checker_.CalledOnValidThread()); 150 DCHECK(thread_checker_.CalledOnValidThread());
151 DCHECK(!has_video_); 151 DCHECK(!has_video_);
152 if (clock_device_->GetState() == MediaClockDevice::kStateUninitialized && 152 if (clock_device_->GetState() == MediaClockDevice::kStateUninitialized &&
153 !clock_device_->SetState(MediaClockDevice::kStateIdle)) { 153 !clock_device_->SetState(MediaClockDevice::kStateIdle)) {
154 status_cb.Run(::media::PIPELINE_ERROR_INITIALIZATION_FAILED); 154 status_cb.Run(::media::PIPELINE_ERROR_INITIALIZATION_FAILED);
155 return; 155 return;
156 } 156 }
157 has_video_ = true; 157 has_video_ = true;
158 video_pipeline_->Initialize(config, frame_provider.Pass(), status_cb); 158 video_pipeline_->Initialize(configs, frame_provider.Pass(), status_cb);
159 } 159 }
160 160
161 void MediaPipelineImpl::StartPlayingFrom(base::TimeDelta time) { 161 void MediaPipelineImpl::StartPlayingFrom(base::TimeDelta time) {
162 CMALOG(kLogControl) << __FUNCTION__ << " t0=" << time.InMilliseconds(); 162 CMALOG(kLogControl) << __FUNCTION__ << " t0=" << time.InMilliseconds();
163 DCHECK(thread_checker_.CalledOnValidThread()); 163 DCHECK(thread_checker_.CalledOnValidThread());
164 DCHECK(has_audio_ || has_video_); 164 DCHECK(has_audio_ || has_video_);
165 DCHECK(!pending_callbacks_); 165 DCHECK(!pending_callbacks_);
166 166
167 // Reset the start of the timeline. 167 // Reset the start of the timeline.
168 DCHECK_EQ(clock_device_->GetState(), MediaClockDevice::kStateIdle); 168 DCHECK_EQ(clock_device_->GetState(), MediaClockDevice::kStateIdle);
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 362
363 void MediaPipelineImpl::OnError(::media::PipelineStatus error) { 363 void MediaPipelineImpl::OnError(::media::PipelineStatus error) {
364 DCHECK(thread_checker_.CalledOnValidThread()); 364 DCHECK(thread_checker_.CalledOnValidThread());
365 DCHECK_NE(error, ::media::PIPELINE_OK) << "PIPELINE_OK is not an error!"; 365 DCHECK_NE(error, ::media::PIPELINE_OK) << "PIPELINE_OK is not an error!";
366 if (!client_.error_cb.is_null()) 366 if (!client_.error_cb.is_null())
367 client_.error_cb.Run(error); 367 client_.error_cb.Run(error);
368 } 368 }
369 369
370 } // namespace media 370 } // namespace media
371 } // namespace chromecast 371 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698