OLD | NEW |
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 "chromecast/media/cma/test/mock_frame_provider.h" | 5 #include "chromecast/media/cma/test/mock_frame_provider.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/location.h" | 8 #include "base/location.h" |
9 #include "base/message_loop/message_loop_proxy.h" | 9 #include "base/single_thread_task_runner.h" |
| 10 #include "base/thread_task_runner_handle.h" |
10 #include "base/time/time.h" | 11 #include "base/time/time.h" |
11 #include "chromecast/media/cma/base/decoder_buffer_base.h" | 12 #include "chromecast/media/cma/base/decoder_buffer_base.h" |
12 #include "chromecast/media/cma/test/frame_generator_for_test.h" | 13 #include "chromecast/media/cma/test/frame_generator_for_test.h" |
13 #include "media/base/audio_decoder_config.h" | 14 #include "media/base/audio_decoder_config.h" |
14 #include "media/base/decoder_buffer.h" | 15 #include "media/base/decoder_buffer.h" |
15 #include "media/base/video_decoder_config.h" | 16 #include "media/base/video_decoder_config.h" |
16 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
17 #include "ui/gfx/geometry/rect.h" | 18 #include "ui/gfx/geometry/rect.h" |
18 #include "ui/gfx/geometry/size.h" | 19 #include "ui/gfx/geometry/size.h" |
19 | 20 |
(...skipping 13 matching lines...) Expand all Loading... |
33 pattern_idx_ = 0; | 34 pattern_idx_ = 0; |
34 | 35 |
35 frame_generator_.reset(frame_generator.release()); | 36 frame_generator_.reset(frame_generator.release()); |
36 } | 37 } |
37 | 38 |
38 void MockFrameProvider::Read(const ReadCB& read_cb) { | 39 void MockFrameProvider::Read(const ReadCB& read_cb) { |
39 bool delayed = delayed_task_pattern_[pattern_idx_]; | 40 bool delayed = delayed_task_pattern_[pattern_idx_]; |
40 pattern_idx_ = (pattern_idx_ + 1) % delayed_task_pattern_.size(); | 41 pattern_idx_ = (pattern_idx_ + 1) % delayed_task_pattern_.size(); |
41 | 42 |
42 if (delayed) { | 43 if (delayed) { |
43 base::MessageLoopProxy::current()->PostDelayedTask( | 44 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( |
44 FROM_HERE, | 45 FROM_HERE, |
45 base::Bind(&MockFrameProvider::DoRead, | 46 base::Bind(&MockFrameProvider::DoRead, base::Unretained(this), read_cb), |
46 base::Unretained(this), read_cb), | |
47 base::TimeDelta::FromMilliseconds(1)); | 47 base::TimeDelta::FromMilliseconds(1)); |
48 } else { | 48 } else { |
49 base::MessageLoopProxy::current()->PostTask( | 49 base::ThreadTaskRunnerHandle::Get()->PostTask( |
50 FROM_HERE, | 50 FROM_HERE, base::Bind(&MockFrameProvider::DoRead, |
51 base::Bind(&MockFrameProvider::DoRead, | 51 base::Unretained(this), read_cb)); |
52 base::Unretained(this), read_cb)); | |
53 } | 52 } |
54 } | 53 } |
55 | 54 |
56 void MockFrameProvider::Flush(const base::Closure& flush_cb) { | 55 void MockFrameProvider::Flush(const base::Closure& flush_cb) { |
57 flush_cb.Run(); | 56 flush_cb.Run(); |
58 } | 57 } |
59 | 58 |
60 void MockFrameProvider::DoRead(const ReadCB& read_cb) { | 59 void MockFrameProvider::DoRead(const ReadCB& read_cb) { |
61 bool has_config = frame_generator_->HasDecoderConfig(); | 60 bool has_config = frame_generator_->HasDecoderConfig(); |
62 | 61 |
(...skipping 23 matching lines...) Expand all Loading... |
86 44100, | 85 44100, |
87 NULL, 0, | 86 NULL, 0, |
88 false); | 87 false); |
89 } | 88 } |
90 | 89 |
91 read_cb.Run(buffer, audio_config, video_config); | 90 read_cb.Run(buffer, audio_config, video_config); |
92 } | 91 } |
93 | 92 |
94 } // namespace media | 93 } // namespace media |
95 } // namespace chromecast | 94 } // namespace chromecast |
OLD | NEW |