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

Side by Side Diff: media/base/mock_filter_host.h

Issue 149215: Big media::Pipeline cleanup. (Closed)
Patch Set: Test Created 11 years, 5 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 unified diff | Download patch
« no previous file with comments | « media/base/filter_host_impl.cc ('k') | media/base/pipeline.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this
2 // source code is governed by a BSD-style license that can be found in the 2 // source code is governed by a BSD-style license that can be found in the
3 // LICENSE file. 3 // LICENSE file.
4 4
5 // The corresponding FilterHost implementation for MockPipeline. Maintains a 5 // The corresponding FilterHost implementation for MockPipeline. Maintains a
6 // reference to the parent MockPipeline and a reference to the Filter its 6 // reference to the parent MockPipeline and a reference to the Filter its
7 // hosting. Common usage is to check if the hosted filter has initialized by 7 // hosting. Common usage is to check if the hosted filter has initialized by
8 // calling IsInitialized(). 8 // calling IsInitialized().
9 9
10 #ifndef MEDIA_BASE_MOCK_FILTER_HOST_H_ 10 #ifndef MEDIA_BASE_MOCK_FILTER_HOST_H_
(...skipping 22 matching lines...) Expand all
33 error_(PIPELINE_OK), 33 error_(PIPELINE_OK),
34 wait_for_initialized_(false, false), 34 wait_for_initialized_(false, false),
35 wait_for_error_(false, false) { 35 wait_for_error_(false, false) {
36 EXPECT_TRUE(mock_pipeline_); 36 EXPECT_TRUE(mock_pipeline_);
37 EXPECT_TRUE(filter_); 37 EXPECT_TRUE(filter_);
38 filter_->SetFilterHost(this); 38 filter_->SetFilterHost(this);
39 } 39 }
40 40
41 virtual ~MockFilterHost() {} 41 virtual ~MockFilterHost() {}
42 42
43 virtual const PipelineStatus* GetPipelineStatus() const {
44 return mock_pipeline_;
45 }
46
47 virtual void SetTimeUpdateCallback(Callback1<base::TimeDelta>::Type* cb) {
48 time_update_callback_.reset(cb);
49 }
50
51 virtual void ScheduleTimeUpdateCallback(base::TimeDelta time) {
52 scheduled_callback_time_ = time;
53 }
54
55 virtual void InitializationComplete() { 43 virtual void InitializationComplete() {
56 EXPECT_FALSE(initialized_); 44 EXPECT_FALSE(initialized_);
57 initialized_ = true; 45 initialized_ = true;
58 wait_for_initialized_.Signal(); 46 wait_for_initialized_.Signal();
59 } 47 }
60 48
61 virtual void Error(PipelineError error) { 49 virtual void Error(PipelineError error) {
62 error_ = error; 50 error_ = error;
63 mock_pipeline_->Error(error); 51 mock_pipeline_->Error(error);
64 wait_for_error_.Signal(); 52 wait_for_error_.Signal();
65 } 53 }
66 54
55 virtual base::TimeDelta GetTime() const {
56 return mock_pipeline_->GetTime();
57 }
58
67 virtual void SetTime(base::TimeDelta time) { 59 virtual void SetTime(base::TimeDelta time) {
68 mock_pipeline_->SetTime(time); 60 mock_pipeline_->SetTime(time);
69 } 61 }
70 62
71 virtual void SetDuration(base::TimeDelta duration) { 63 virtual void SetDuration(base::TimeDelta duration) {
72 mock_pipeline_->SetDuration(duration); 64 mock_pipeline_->SetDuration(duration);
73 } 65 }
74 66
75 virtual void SetBufferedTime(base::TimeDelta buffered_time) { 67 virtual void SetBufferedTime(base::TimeDelta buffered_time) {
76 mock_pipeline_->SetBufferedTime(buffered_time); 68 mock_pipeline_->SetBufferedTime(buffered_time);
77 } 69 }
78 70
79 virtual void SetTotalBytes(int64 total_bytes) { 71 virtual void SetTotalBytes(int64 total_bytes) {
80 mock_pipeline_->SetTotalBytes(total_bytes); 72 mock_pipeline_->SetTotalBytes(total_bytes);
81 } 73 }
82 74
83 virtual void SetBufferedBytes(int64 buffered_bytes) { 75 virtual void SetBufferedBytes(int64 buffered_bytes) {
84 mock_pipeline_->SetBufferedBytes(buffered_bytes); 76 mock_pipeline_->SetBufferedBytes(buffered_bytes);
85 } 77 }
86 78
87 virtual void SetVideoSize(size_t width, size_t height) { 79 virtual void SetVideoSize(size_t width, size_t height) {
88 mock_pipeline_->SetVideoSize(width, height); 80 mock_pipeline_->SetVideoSize(width, height);
89 } 81 }
90 82
91 // Used by unit tests to manipulate the filter.
92 base::TimeDelta GetScheduledCallbackTime() const {
93 return scheduled_callback_time_;
94 }
95
96 Callback1<base::TimeDelta>::Type* GetTimeUpdateCallback() const {
97 return time_update_callback_.get();
98 }
99
100 bool IsInitialized() const { 83 bool IsInitialized() const {
101 return initialized_; 84 return initialized_;
102 } 85 }
103 86
104 bool WaitForInitialized() { 87 bool WaitForInitialized() {
105 const base::TimeDelta kTimedWait = base::TimeDelta::FromMilliseconds(500); 88 const base::TimeDelta kTimedWait = base::TimeDelta::FromMilliseconds(500);
106 while (!initialized_) { 89 while (!initialized_) {
107 if (!wait_for_initialized_.TimedWait(kTimedWait)) { 90 if (!wait_for_initialized_.TimedWait(kTimedWait)) {
108 return false; 91 return false;
109 } 92 }
110 } 93 }
111 return true; 94 return true;
112 } 95 }
113 96
114 bool WaitForError(PipelineError error) { 97 bool WaitForError(PipelineError error) {
115 const base::TimeDelta kTimedWait = base::TimeDelta::FromMilliseconds(500); 98 const base::TimeDelta kTimedWait = base::TimeDelta::FromMilliseconds(500);
116 while (error_ != error) { 99 while (error_ != error) {
117 if (!wait_for_error_.TimedWait(kTimedWait)) { 100 if (!wait_for_error_.TimedWait(kTimedWait)) {
118 return false; 101 return false;
119 } 102 }
120 } 103 }
121 return true; 104 return true;
122 } 105 }
123 106
124 private: 107 private:
125 MockPipeline* mock_pipeline_; 108 MockPipeline* mock_pipeline_;
126 scoped_refptr<Filter> filter_; 109 scoped_refptr<Filter> filter_;
127 scoped_ptr<Callback1<base::TimeDelta>::Type> time_update_callback_;
128
129 // Keeps track of the time passed into ScheduleTimeUpdateCallback().
130 base::TimeDelta scheduled_callback_time_;
131 110
132 // Tracks if the filter has executed InitializationComplete(). 111 // Tracks if the filter has executed InitializationComplete().
133 bool initialized_; 112 bool initialized_;
134 113
135 // Tracks the last pipeline error set by the filter. 114 // Tracks the last pipeline error set by the filter.
136 PipelineError error_; 115 PipelineError error_;
137 116
138 // Allows unit tests to wait for particular conditions before asserting. 117 // Allows unit tests to wait for particular conditions before asserting.
139 base::WaitableEvent wait_for_initialized_; 118 base::WaitableEvent wait_for_initialized_;
140 base::WaitableEvent wait_for_error_; 119 base::WaitableEvent wait_for_error_;
141 120
142 DISALLOW_COPY_AND_ASSIGN(MockFilterHost); 121 DISALLOW_COPY_AND_ASSIGN(MockFilterHost);
143 }; 122 };
144 123
145 } // namespace media 124 } // namespace media
146 125
147 #endif // MEDIA_BASE_MOCK_FILTER_HOST_H_ 126 #endif // MEDIA_BASE_MOCK_FILTER_HOST_H_
OLDNEW
« no previous file with comments | « media/base/filter_host_impl.cc ('k') | media/base/pipeline.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698