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

Unified Diff: media/filters/audio_renderer_base.cc

Issue 6969026: Convert Filter::Seek() to use new callback system. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add files in content/renderer/media Created 9 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 side-by-side diff with in-line comments
Download patch
Index: media/filters/audio_renderer_base.cc
diff --git a/media/filters/audio_renderer_base.cc b/media/filters/audio_renderer_base.cc
index 45dd6994077ac4520936db79127db8f7df33890e..c17687c33337a344d35588f2e9a70875e0e3b45e 100644
--- a/media/filters/audio_renderer_base.cc
+++ b/media/filters/audio_renderer_base.cc
@@ -64,12 +64,13 @@ void AudioRendererBase::Stop(FilterCallback* callback) {
}
}
-void AudioRendererBase::Seek(base::TimeDelta time, FilterCallback* callback) {
+void AudioRendererBase::Seek(base::TimeDelta time, const FilterStatusCB& cb) {
Ami GONE FROM CHROMIUM 2011/05/12 20:42:16 Extra space before cb.
acolwell GONE FROM CHROMIUM 2011/05/12 22:30:40 Done.
base::AutoLock auto_lock(lock_);
DCHECK_EQ(kPaused, state_);
DCHECK_EQ(0u, pending_reads_) << "Pending reads should have completed";
+ DCHECK(seek_cb_.is_null());
state_ = kSeeking;
- seek_callback_.reset(callback);
+ seek_cb_ = cb;
seek_timestamp_ = time;
// Throw away everything and schedule our reads.
@@ -159,13 +160,12 @@ void AudioRendererBase::ConsumeAudioSamples(scoped_refptr<Buffer> buffer_in) {
// Check for our preroll complete condition.
if (state_ == kSeeking) {
- DCHECK(seek_callback_.get());
+ DCHECK(!seek_cb_.is_null());
if (algorithm_->IsQueueFull() || recieved_end_of_stream_) {
// Transition into paused whether we have data in |algorithm_| or not.
// FillBuffer() will play silence if there's nothing to fill.
state_ = kPaused;
- seek_callback_->Run();
- seek_callback_.reset();
+ CopyAndResetCB(seek_cb_).Run(PIPELINE_OK);
}
} else if (state_ == kPaused && pending_reads_ == 0) {
// No more pending reads! We're now officially "paused".

Powered by Google App Engine
This is Rietveld 408576698