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

Unified Diff: media/base/mock_filters.h

Issue 5744002: Refactor PipelineImpl to use CompositeFilter to manage Filter state transitions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix CR nits & remove dead code. Created 9 years, 12 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/base/composite_filter_unittest.cc ('k') | media/base/mock_filters.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/mock_filters.h
diff --git a/media/base/mock_filters.h b/media/base/mock_filters.h
index 3b1deb31e9ddbd6599110f90ecb3861a5e574981..36b676ff5859fd35ff174abf81010a14a699d10e 100644
--- a/media/base/mock_filters.h
+++ b/media/base/mock_filters.h
@@ -50,7 +50,12 @@ class Destroyable : public MockClass {
// gmock will track the number of times the methods are executed.
class MockFilterCallback {
public:
- MockFilterCallback() {}
+ MockFilterCallback() : run_destroy_callback_(true) {
+ }
+
+ MockFilterCallback(bool run_destroy_callback) :
+ run_destroy_callback_(run_destroy_callback) {
+ }
virtual ~MockFilterCallback() {}
MOCK_METHOD0(OnCallbackDestroyed, void());
@@ -61,7 +66,7 @@ class MockFilterCallback {
// destroyed. Clients should use NiceMock<> or StrictMock<> depending on the
// test.
FilterCallback* NewCallback() {
- return new CallbackImpl(this);
+ return new CallbackImpl(this, run_destroy_callback_);
}
private:
@@ -69,12 +74,15 @@ class MockFilterCallback {
// MockFilterCallback.
class CallbackImpl : public CallbackRunner<Tuple0> {
public:
- explicit CallbackImpl(MockFilterCallback* mock_callback)
- : mock_callback_(mock_callback) {
+ explicit CallbackImpl(MockFilterCallback* mock_callback,
+ bool run_destroy_callback)
+ : mock_callback_(mock_callback),
+ run_destroy_callback_(run_destroy_callback) {
}
virtual ~CallbackImpl() {
- mock_callback_->OnCallbackDestroyed();
+ if (run_destroy_callback_)
+ mock_callback_->OnCallbackDestroyed();
}
virtual void RunWithParams(const Tuple0& params) {
@@ -83,13 +91,41 @@ class MockFilterCallback {
private:
MockFilterCallback* mock_callback_;
+ bool run_destroy_callback_;
DISALLOW_COPY_AND_ASSIGN(CallbackImpl);
};
+ bool run_destroy_callback_;
DISALLOW_COPY_AND_ASSIGN(MockFilterCallback);
};
+class MockFilter : public Filter {
+ public:
+ MockFilter();
+ MockFilter(bool requires_message_loop);
+
+ // Filter implementation.
+ virtual bool requires_message_loop() const;
+ virtual const char* message_loop_name() const;
+
+ MOCK_METHOD1(Play, void(FilterCallback* callback));
+ MOCK_METHOD1(Pause, void(FilterCallback* callback));
+ MOCK_METHOD1(Flush, void(FilterCallback* callback));
+ MOCK_METHOD1(Stop, void(FilterCallback* callback));
+ MOCK_METHOD1(SetPlaybackRate, void(float playback_rate));
+ MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback));
+ MOCK_METHOD0(OnAudioRendererDisabled, void());
+
+ protected:
+ virtual ~MockFilter();
+
+ private:
+ bool requires_message_loop_;
+
+ DISALLOW_COPY_AND_ASSIGN(MockFilter);
+};
+
class MockDataSource : public DataSource {
public:
MockDataSource() {}
« no previous file with comments | « media/base/composite_filter_unittest.cc ('k') | media/base/mock_filters.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698