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

Side by Side Diff: chromecast/media/cma/filters/demuxer_stream_adapter_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 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/thread_task_runner_handle.h"
11 #include "base/threading/thread.h" 12 #include "base/threading/thread.h"
12 #include "base/time/time.h" 13 #include "base/time/time.h"
13 #include "chromecast/media/cma/base/balanced_media_task_runner_factory.h" 14 #include "chromecast/media/cma/base/balanced_media_task_runner_factory.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/filters/demuxer_stream_adapter.h" 16 #include "chromecast/media/cma/filters/demuxer_stream_adapter.h"
16 #include "media/base/audio_decoder_config.h" 17 #include "media/base/audio_decoder_config.h"
17 #include "media/base/decoder_buffer.h" 18 #include "media/base/decoder_buffer.h"
18 #include "media/base/demuxer_stream.h" 19 #include "media/base/demuxer_stream.h"
19 #include "media/base/video_decoder_config.h" 20 #include "media/base/video_decoder_config.h"
20 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 has_pending_read_ = true; 91 has_pending_read_ = true;
91 if (!config_idx_.empty() && config_idx_.front() == frame_count_) { 92 if (!config_idx_.empty() && config_idx_.front() == frame_count_) {
92 config_idx_.pop_front(); 93 config_idx_.pop_front();
93 has_pending_read_ = false; 94 has_pending_read_ = false;
94 read_cb.Run(kConfigChanged, 95 read_cb.Run(kConfigChanged,
95 scoped_refptr< ::media::DecoderBuffer>()); 96 scoped_refptr< ::media::DecoderBuffer>());
96 return; 97 return;
97 } 98 }
98 99
99 if ((frame_count_ % cycle_count_) < delayed_frame_count_) { 100 if ((frame_count_ % cycle_count_) < delayed_frame_count_) {
100 base::MessageLoopProxy::current()->PostDelayedTask( 101 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
101 FROM_HERE, 102 FROM_HERE, base::Bind(&DummyDemuxerStream::DoRead,
102 base::Bind(&DummyDemuxerStream::DoRead, base::Unretained(this), 103 base::Unretained(this), read_cb),
103 read_cb),
104 base::TimeDelta::FromMilliseconds(20)); 104 base::TimeDelta::FromMilliseconds(20));
105 return; 105 return;
106 } 106 }
107 DoRead(read_cb); 107 DoRead(read_cb);
108 } 108 }
109 109
110 ::media::AudioDecoderConfig DummyDemuxerStream::audio_decoder_config() { 110 ::media::AudioDecoderConfig DummyDemuxerStream::audio_decoder_config() {
111 LOG(FATAL) << "DummyDemuxerStream is a video DemuxerStream"; 111 LOG(FATAL) << "DummyDemuxerStream is a video DemuxerStream";
112 return ::media::AudioDecoderConfig(); 112 return ::media::AudioDecoderConfig();
113 } 113 }
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 190
191 DemuxerStreamAdapterTest::DemuxerStreamAdapterTest() 191 DemuxerStreamAdapterTest::DemuxerStreamAdapterTest()
192 : use_post_task_for_flush_(false) { 192 : use_post_task_for_flush_(false) {
193 } 193 }
194 194
195 DemuxerStreamAdapterTest::~DemuxerStreamAdapterTest() { 195 DemuxerStreamAdapterTest::~DemuxerStreamAdapterTest() {
196 } 196 }
197 197
198 void DemuxerStreamAdapterTest::Initialize( 198 void DemuxerStreamAdapterTest::Initialize(
199 ::media::DemuxerStream* demuxer_stream) { 199 ::media::DemuxerStream* demuxer_stream) {
200 coded_frame_provider_.reset( 200 coded_frame_provider_.reset(new DemuxerStreamAdapter(
201 new DemuxerStreamAdapter( 201 base::ThreadTaskRunnerHandle::Get(),
202 base::MessageLoopProxy::current(), 202 scoped_refptr<BalancedMediaTaskRunnerFactory>(), demuxer_stream));
203 scoped_refptr<BalancedMediaTaskRunnerFactory>(),
204 demuxer_stream));
205 } 203 }
206 204
207 void DemuxerStreamAdapterTest::Start() { 205 void DemuxerStreamAdapterTest::Start() {
208 frame_received_count_ = 0; 206 frame_received_count_ = 0;
209 207
210 // TODO(damienv): currently, test assertions which fail do not trigger the 208 // TODO(damienv): currently, test assertions which fail do not trigger the
211 // exit of the unit test, the message loop is still running. Find a different 209 // exit of the unit test, the message loop is still running. Find a different
212 // way to exit the unit test. 210 // way to exit the unit test.
213 base::MessageLoop::current()->PostDelayedTask( 211 base::MessageLoop::current()->PostDelayedTask(
214 FROM_HERE, 212 FROM_HERE,
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop()); 334 scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
337 Initialize(demuxer_stream_.get()); 335 Initialize(demuxer_stream_.get());
338 message_loop->PostTask( 336 message_loop->PostTask(
339 FROM_HERE, 337 FROM_HERE,
340 base::Bind(&DemuxerStreamAdapterTest::Start, base::Unretained(this))); 338 base::Bind(&DemuxerStreamAdapterTest::Start, base::Unretained(this)));
341 message_loop->Run(); 339 message_loop->Run();
342 } 340 }
343 341
344 } // namespace media 342 } // namespace media
345 } // namespace chromecast 343 } // namespace chromecast
OLDNEW
« no previous file with comments | « chromecast/media/cma/filters/cma_renderer.cc ('k') | chromecast/media/cma/ipc/media_message_fifo.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698