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

Unified Diff: media/filters/decoder_base.h

Issue 6969026: Convert Filter::Seek() to use new callback system. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More CR fixes 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
« no previous file with comments | « media/filters/audio_renderer_base_unittest.cc ('k') | media/filters/ffmpeg_demuxer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/decoder_base.h
diff --git a/media/filters/decoder_base.h b/media/filters/decoder_base.h
index 6cf49374b411036a2aca07e554904d731d0f24a4..a889e19fb1082de5d09b9c7062861b8d4d8efd91 100644
--- a/media/filters/decoder_base.h
+++ b/media/filters/decoder_base.h
@@ -34,11 +34,10 @@ class DecoderBase : public Decoder {
NewRunnableMethod(this, &DecoderBase::StopTask, callback));
}
- virtual void Seek(base::TimeDelta time,
- FilterCallback* callback) {
+ virtual void Seek(base::TimeDelta time, const FilterStatusCB& cb) {
message_loop_->PostTask(
FROM_HERE,
- NewRunnableMethod(this, &DecoderBase::SeekTask, time, callback));
+ NewRunnableMethod(this, &DecoderBase::SeekTask, time, cb));
}
// Decoder implementation.
@@ -170,25 +169,22 @@ class DecoderBase : public Decoder {
}
}
- void SeekTask(base::TimeDelta time, FilterCallback* callback) {
+ void SeekTask(base::TimeDelta time, const FilterStatusCB& cb) {
DCHECK_EQ(MessageLoop::current(), message_loop_);
DCHECK_EQ(0u, pending_reads_) << "Pending reads should have completed";
DCHECK_EQ(0u, pending_requests_) << "Pending requests should be empty";
// Delegate to the subclass first.
- DoSeek(time,
- NewRunnableMethod(this, &DecoderBase::OnSeekComplete, callback));
+ DoSeek(time, NewRunnableMethod(this, &DecoderBase::OnSeekComplete, cb));
}
- void OnSeekComplete(FilterCallback* callback) {
+ void OnSeekComplete(const FilterStatusCB& cb) {
// Flush our decoded results.
result_queue_.clear();
// Signal that we're done seeking.
- if (callback) {
- callback->Run();
- delete callback;
- }
+ if (!cb.is_null())
+ cb.Run(PIPELINE_OK);
}
void InitializeTask(DemuxerStream* demuxer_stream,
« no previous file with comments | « media/filters/audio_renderer_base_unittest.cc ('k') | media/filters/ffmpeg_demuxer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698