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

Side by Side Diff: media/filters/audio_renderer_impl.cc

Issue 10834236: Replace Pipeline::kEnded state and HasEnded() methods with renderer-specific bools. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src
Patch Set: Created 8 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « media/filters/audio_renderer_impl.h ('k') | media/filters/audio_renderer_impl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "media/filters/audio_renderer_impl.h" 5 #include "media/filters/audio_renderer_impl.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 sink_->Initialize(audio_parameters_, this); 193 sink_->Initialize(audio_parameters_, this);
194 194
195 sink_->Start(); 195 sink_->Start();
196 is_initialized_ = true; 196 is_initialized_ = true;
197 197
198 // Finally, execute the start callback. 198 // Finally, execute the start callback.
199 state_ = kPaused; 199 state_ = kPaused;
200 init_cb.Run(PIPELINE_OK); 200 init_cb.Run(PIPELINE_OK);
201 } 201 }
202 202
203 bool AudioRendererImpl::HasEnded() {
204 base::AutoLock auto_lock(lock_);
205 DCHECK(!rendered_end_of_stream_ || !algorithm_->CanFillBuffer());
206
207 return received_end_of_stream_ && rendered_end_of_stream_;
208 }
209
210 void AudioRendererImpl::ResumeAfterUnderflow(bool buffer_more_audio) { 203 void AudioRendererImpl::ResumeAfterUnderflow(bool buffer_more_audio) {
211 base::AutoLock auto_lock(lock_); 204 base::AutoLock auto_lock(lock_);
212 if (state_ == kUnderflow) { 205 if (state_ == kUnderflow) {
213 if (buffer_more_audio) 206 if (buffer_more_audio)
214 algorithm_->IncreaseQueueCapacity(); 207 algorithm_->IncreaseQueueCapacity();
215 208
216 state_ = kRebuffering; 209 state_ = kRebuffering;
217 } 210 }
218 } 211 }
219 212
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
541 case kUnderflow: 534 case kUnderflow:
542 case kRebuffering: 535 case kRebuffering:
543 case kStopped: 536 case kStopped:
544 if (status != PIPELINE_OK) 537 if (status != PIPELINE_OK)
545 error_cb_.Run(status); 538 error_cb_.Run(status);
546 return; 539 return;
547 } 540 }
548 } 541 }
549 542
550 } // namespace media 543 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/audio_renderer_impl.h ('k') | media/filters/audio_renderer_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698