summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorwez@chromium.org <wez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-27 19:35:11 +0000
committerwez@chromium.org <wez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-27 19:35:11 +0000
commit31ab49fb68031f93248c1b3d1b51e343e67cf76e (patch)
tree20879ccec4399b8fd8b069198932581f2b579c6f /media
parent4f5ce84f636b74420e62c63f657a5a0ad8c92bb0 (diff)
downloadchromium_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.cc8
-rw-r--r--media/base/callback.h55
-rw-r--r--media/filters/decoder_base.h2
-rw-r--r--media/filters/decoder_base_unittest.cc2
-rw-r--r--media/filters/ffmpeg_audio_decoder.cc3
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();