diff options
author | wez@chromium.org <wez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-27 19:35:11 +0000 |
---|---|---|
committer | wez@chromium.org <wez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-27 19:35:11 +0000 |
commit | 31ab49fb68031f93248c1b3d1b51e343e67cf76e (patch) | |
tree | 20879ccec4399b8fd8b069198932581f2b579c6f /media | |
parent | 4f5ce84f636b74420e62c63f657a5a0ad8c92bb0 (diff) | |
download | chromium_src-31ab49fb68031f93248c1b3d1b51e343e67cf76e.zip chromium_src-31ab49fb68031f93248c1b3d1b51e343e67cf76e.tar.gz chromium_src-31ab49fb68031f93248c1b3d1b51e343e67cf76e.tar.bz2 |
Move media library AutoTaskRunner to base and rename ScopedTaskRunner.
This is needed to avoid faux dependencies on media/ creeping in to remoting/ code, and creating linker issues.
BUG=
TEST=Everything works as before. Shared component builds certainly don't break.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=86971 (Reverted - broke shared builds)
Review URL: http://codereview.chromium.org/7062013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87068 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r-- | media/base/callback.cc | 8 | ||||
-rw-r--r-- | media/base/callback.h | 55 | ||||
-rw-r--r-- | media/filters/decoder_base.h | 2 | ||||
-rw-r--r-- | media/filters/decoder_base_unittest.cc | 2 | ||||
-rw-r--r-- | media/filters/ffmpeg_audio_decoder.cc | 3 |
5 files changed, 7 insertions, 63 deletions
diff --git a/media/base/callback.cc b/media/base/callback.cc index 484c744..3daac8e 100644 --- a/media/base/callback.cc +++ b/media/base/callback.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -6,12 +6,6 @@ namespace media { -AutoTaskRunner::~AutoTaskRunner() { - if (task_.get()) { - task_->Run(); - } -} - AutoCallbackRunner::~AutoCallbackRunner() { if (callback_.get()) { callback_->Run(); diff --git a/media/base/callback.h b/media/base/callback.h index 460af24..4948829 100644 --- a/media/base/callback.h +++ b/media/base/callback.h @@ -4,9 +4,9 @@ // Some basic utilities for aiding in the management of Tasks and Callbacks. // -// AutoTaskRunner, and its brother AutoCallbackRunner are the scoped_ptr -// equivalents for callbacks. They are useful for ensuring a callback is -// executed and delete in the face of multiple return points in a function. +// AutoCallbackRunner is akin to scoped_ptr for callbacks. It is useful for +// ensuring a callback is executed and delete in the face of multiple return +// points in a function. // // TaskToCallbackAdapter converts a Task to a Callback0::Type since the two type // hierarchies are strangely separate. @@ -27,23 +27,6 @@ namespace media { -class AutoTaskRunner { - public: - // Takes ownership of the task. - explicit AutoTaskRunner(Task* task) - : task_(task) { - } - - ~AutoTaskRunner(); - - Task* release() { return task_.release(); } - - private: - scoped_ptr<Task> task_; - - DISALLOW_COPY_AND_ASSIGN(AutoTaskRunner); -}; - class AutoCallbackRunner { public: // Takes ownership of the callback. @@ -77,38 +60,6 @@ class TaskToCallbackAdapter : public Callback0::Type { DISALLOW_COPY_AND_ASSIGN(TaskToCallbackAdapter); }; -template <typename CallbackType> -class CleanupCallback : public CallbackType { - public: - explicit CleanupCallback(CallbackType* callback) : callback_(callback) {} - - virtual ~CleanupCallback() { - for (size_t i = 0; i < run_when_done_.size(); i++) { - run_when_done_[i]->Run(); - delete run_when_done_[i]; - } - } - - virtual void RunWithParams(const typename CallbackType::TupleType& params) { - callback_->RunWithParams(params); - } - - template <typename T> - void DeleteWhenDone(T* ptr) { - RunWhenDone(new DeleteTask<T>(ptr)); - } - - void RunWhenDone(Task* ptr) { - run_when_done_.push_back(ptr); - } - - private: - scoped_ptr<CallbackType> callback_; - std::vector<Task*> run_when_done_; - - DISALLOW_COPY_AND_ASSIGN(CleanupCallback); -}; - } // namespace media #endif // MEDIA_BASE_CALLBACK_ diff --git a/media/filters/decoder_base.h b/media/filters/decoder_base.h index a889e19fb..338b036 100644 --- a/media/filters/decoder_base.h +++ b/media/filters/decoder_base.h @@ -102,7 +102,7 @@ class DecoderBase : public Decoder { // be called from within the Filter::Stop() method prior to stopping the // base class. virtual void DoStop(Task* done_cb) { - AutoTaskRunner done_runner(done_cb); + base::ScopedTaskRunner run_done_cb(done_cb); } // Derived class can implement this method and perform seeking logic prior diff --git a/media/filters/decoder_base_unittest.cc b/media/filters/decoder_base_unittest.cc index f29bd3a..c742f91 100644 --- a/media/filters/decoder_base_unittest.cc +++ b/media/filters/decoder_base_unittest.cc @@ -53,7 +53,7 @@ class MockDecoderImpl : public DecoderBase<MockAudioDecoder, Buffer> { }; ACTION(Initialize) { - AutoTaskRunner done_runner(arg2); + base::ScopedTaskRunner done_runner(arg2); *arg1 = true; } diff --git a/media/filters/ffmpeg_audio_decoder.cc b/media/filters/ffmpeg_audio_decoder.cc index 555ccfc..22c5685 100644 --- a/media/filters/ffmpeg_audio_decoder.cc +++ b/media/filters/ffmpeg_audio_decoder.cc @@ -4,7 +4,6 @@ #include "media/filters/ffmpeg_audio_decoder.h" -#include "media/base/callback.h" #include "media/base/data_buffer.h" #include "media/base/limits.h" #include "media/ffmpeg/ffmpeg_common.h" @@ -40,7 +39,7 @@ FFmpegAudioDecoder::~FFmpegAudioDecoder() { void FFmpegAudioDecoder::DoInitialize(DemuxerStream* demuxer_stream, bool* success, Task* done_cb) { - AutoTaskRunner done_runner(done_cb); + base::ScopedTaskRunner done_runner(done_cb); *success = false; AVStream* av_stream = demuxer_stream->GetAVStream(); |