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

Side by Side Diff: chromecast/media/cma/ipc_streamer/av_streamer_unittest.cc

Issue 1142513004: Chromecast: MessageLoopProxy cleanup --> SingleThreadTaskRunner. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <list> 5 #include <list>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "base/thread_task_runner_handle.h"
12 #include "base/threading/thread.h" 13 #include "base/threading/thread.h"
13 #include "base/time/time.h" 14 #include "base/time/time.h"
14 #include "chromecast/media/cma/base/decoder_buffer_base.h" 15 #include "chromecast/media/cma/base/decoder_buffer_base.h"
15 #include "chromecast/media/cma/ipc/media_memory_chunk.h" 16 #include "chromecast/media/cma/ipc/media_memory_chunk.h"
16 #include "chromecast/media/cma/ipc/media_message_fifo.h" 17 #include "chromecast/media/cma/ipc/media_message_fifo.h"
17 #include "chromecast/media/cma/ipc_streamer/av_streamer_proxy.h" 18 #include "chromecast/media/cma/ipc_streamer/av_streamer_proxy.h"
18 #include "chromecast/media/cma/ipc_streamer/coded_frame_provider_host.h" 19 #include "chromecast/media/cma/ipc_streamer/coded_frame_provider_host.h"
19 #include "chromecast/media/cma/test/frame_generator_for_test.h" 20 #include "chromecast/media/cma/test/frame_generator_for_test.h"
20 #include "chromecast/media/cma/test/mock_frame_consumer.h" 21 #include "chromecast/media/cma/test/mock_frame_consumer.h"
21 #include "chromecast/media/cma/test/mock_frame_provider.h" 22 #include "chromecast/media/cma/test/mock_frame_provider.h"
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 138
138 frame_consumer_.reset( 139 frame_consumer_.reset(
139 new MockFrameConsumer(coded_frame_provider_host_.get())); 140 new MockFrameConsumer(coded_frame_provider_host_.get()));
140 frame_consumer_->Configure( 141 frame_consumer_->Configure(
141 consumer_delayed_pattern, 142 consumer_delayed_pattern,
142 false, 143 false,
143 frame_generator_consumer.Pass()); 144 frame_generator_consumer.Pass());
144 } 145 }
145 146
146 void AvStreamerTest::Start() { 147 void AvStreamerTest::Start() {
147 base::MessageLoopProxy::current()->PostTask( 148 base::ThreadTaskRunnerHandle::Get()->PostTask(
148 FROM_HERE, 149 FROM_HERE, base::Bind(&AvStreamerProxy::Start,
149 base::Bind(&AvStreamerProxy::Start, 150 base::Unretained(av_buffer_proxy_.get())));
150 base::Unretained(av_buffer_proxy_.get())));
151 151
152 frame_consumer_->Start( 152 frame_consumer_->Start(
153 base::Bind(&AvStreamerTest::OnTestCompleted, 153 base::Bind(&AvStreamerTest::OnTestCompleted,
154 base::Unretained(this))); 154 base::Unretained(this)));
155 } 155 }
156 156
157 void AvStreamerTest::OnTestTimeout() { 157 void AvStreamerTest::OnTestTimeout() {
158 ADD_FAILURE() << "Test timed out"; 158 ADD_FAILURE() << "Test timed out";
159 if (base::MessageLoop::current()) 159 if (base::MessageLoop::current())
160 base::MessageLoop::current()->QuitWhenIdle(); 160 base::MessageLoop::current()->QuitWhenIdle();
161 } 161 }
162 162
163 void AvStreamerTest::OnTestCompleted() { 163 void AvStreamerTest::OnTestCompleted() {
164 base::MessageLoop::current()->QuitWhenIdle(); 164 base::MessageLoop::current()->QuitWhenIdle();
165 } 165 }
166 166
167 void AvStreamerTest::OnFifoWrite() { 167 void AvStreamerTest::OnFifoWrite() {
168 base::MessageLoopProxy::current()->PostTask( 168 base::ThreadTaskRunnerHandle::Get()->PostTask(
169 FROM_HERE, 169 FROM_HERE,
170 base::Bind(&CodedFrameProviderHost::OnFifoWriteEvent, 170 base::Bind(&CodedFrameProviderHost::OnFifoWriteEvent,
171 base::Unretained(coded_frame_provider_host_.get()))); 171 base::Unretained(coded_frame_provider_host_.get())));
172 } 172 }
173 173
174 void AvStreamerTest::OnFifoRead() { 174 void AvStreamerTest::OnFifoRead() {
175 base::MessageLoopProxy::current()->PostTask( 175 base::ThreadTaskRunnerHandle::Get()->PostTask(
176 FROM_HERE, 176 FROM_HERE, base::Bind(&AvStreamerProxy::OnFifoReadEvent,
177 base::Bind(&AvStreamerProxy::OnFifoReadEvent, 177 base::Unretained(av_buffer_proxy_.get())));
178 base::Unretained(av_buffer_proxy_.get())));
179 } 178 }
180 179
181 TEST_F(AvStreamerTest, FastProviderSlowConsumer) { 180 TEST_F(AvStreamerTest, FastProviderSlowConsumer) {
182 bool provider_delayed_pattern[] = { false }; 181 bool provider_delayed_pattern[] = { false };
183 bool consumer_delayed_pattern[] = { true }; 182 bool consumer_delayed_pattern[] = { true };
184 183
185 const size_t frame_count = 100u; 184 const size_t frame_count = 100u;
186 Configure( 185 Configure(
187 frame_count, 186 frame_count,
188 std::vector<bool>( 187 std::vector<bool>(
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 243
245 scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop()); 244 scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
246 message_loop->PostTask( 245 message_loop->PostTask(
247 FROM_HERE, 246 FROM_HERE,
248 base::Bind(&AvStreamerTest::Start, base::Unretained(this))); 247 base::Bind(&AvStreamerTest::Start, base::Unretained(this)));
249 message_loop->Run(); 248 message_loop->Run();
250 }; 249 };
251 250
252 } // namespace media 251 } // namespace media
253 } // namespace chromecast 252 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698