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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | |
8 #include <list> | 7 #include <list> |
| 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/bind.h" | 11 #include "base/bind.h" |
12 #include "base/macros.h" | 12 #include "base/macros.h" |
13 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
14 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
15 #include "base/thread_task_runner_handle.h" | 15 #include "base/thread_task_runner_handle.h" |
16 #include "base/threading/thread.h" | 16 #include "base/threading/thread.h" |
17 #include "base/time/time.h" | 17 #include "base/time/time.h" |
18 #include "chromecast/media/cma/ipc/media_memory_chunk.h" | 18 #include "chromecast/media/cma/ipc/media_memory_chunk.h" |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 } | 115 } |
116 frame_specs[frame_specs.size() - 1].is_eos = true; | 116 frame_specs[frame_specs.size() - 1].is_eos = true; |
117 | 117 |
118 scoped_ptr<FrameGeneratorForTest> frame_generator_provider( | 118 scoped_ptr<FrameGeneratorForTest> frame_generator_provider( |
119 new FrameGeneratorForTest(frame_specs)); | 119 new FrameGeneratorForTest(frame_specs)); |
120 scoped_ptr<FrameGeneratorForTest> frame_generator_consumer( | 120 scoped_ptr<FrameGeneratorForTest> frame_generator_consumer( |
121 new FrameGeneratorForTest(frame_specs)); | 121 new FrameGeneratorForTest(frame_specs)); |
122 | 122 |
123 scoped_ptr<MockFrameProvider> frame_provider(new MockFrameProvider()); | 123 scoped_ptr<MockFrameProvider> frame_provider(new MockFrameProvider()); |
124 frame_provider->Configure(provider_delayed_pattern, | 124 frame_provider->Configure(provider_delayed_pattern, |
125 frame_generator_provider.Pass()); | 125 std::move(frame_generator_provider)); |
126 frame_provider->SetDelayFlush(delay_flush); | 126 frame_provider->SetDelayFlush(delay_flush); |
127 | 127 |
128 size_t fifo_size_div_8 = 512; | 128 size_t fifo_size_div_8 = 512; |
129 fifo_mem_.reset(new uint64_t[fifo_size_div_8]); | 129 fifo_mem_.reset(new uint64_t[fifo_size_div_8]); |
130 scoped_ptr<MediaMessageFifo> producer_fifo( | 130 scoped_ptr<MediaMessageFifo> producer_fifo( |
131 new MediaMessageFifo( | 131 new MediaMessageFifo( |
132 scoped_ptr<MediaMemoryChunk>( | 132 scoped_ptr<MediaMemoryChunk>( |
133 new FifoMemoryChunk(&fifo_mem_[0], fifo_size_div_8 * 8)), | 133 new FifoMemoryChunk(&fifo_mem_[0], fifo_size_div_8 * 8)), |
134 true)); | 134 true)); |
135 scoped_ptr<MediaMessageFifo> consumer_fifo( | 135 scoped_ptr<MediaMessageFifo> consumer_fifo( |
136 new MediaMessageFifo( | 136 new MediaMessageFifo( |
137 scoped_ptr<MediaMemoryChunk>( | 137 scoped_ptr<MediaMemoryChunk>( |
138 new FifoMemoryChunk(&fifo_mem_[0], fifo_size_div_8 * 8)), | 138 new FifoMemoryChunk(&fifo_mem_[0], fifo_size_div_8 * 8)), |
139 false)); | 139 false)); |
140 producer_fifo->ObserveWriteActivity( | 140 producer_fifo->ObserveWriteActivity( |
141 base::Bind(&AvStreamerTest::OnFifoWrite, base::Unretained(this))); | 141 base::Bind(&AvStreamerTest::OnFifoWrite, base::Unretained(this))); |
142 consumer_fifo->ObserveReadActivity( | 142 consumer_fifo->ObserveReadActivity( |
143 base::Bind(&AvStreamerTest::OnFifoRead, base::Unretained(this))); | 143 base::Bind(&AvStreamerTest::OnFifoRead, base::Unretained(this))); |
144 | 144 |
145 av_buffer_proxy_.reset( | 145 av_buffer_proxy_.reset( |
146 new AvStreamerProxy()); | 146 new AvStreamerProxy()); |
147 av_buffer_proxy_->SetCodedFrameProvider( | 147 av_buffer_proxy_->SetCodedFrameProvider( |
148 scoped_ptr<CodedFrameProvider>(frame_provider.release())); | 148 scoped_ptr<CodedFrameProvider>(frame_provider.release())); |
149 av_buffer_proxy_->SetMediaMessageFifo(producer_fifo.Pass()); | 149 av_buffer_proxy_->SetMediaMessageFifo(std::move(producer_fifo)); |
150 | 150 |
151 coded_frame_provider_host_.reset( | 151 coded_frame_provider_host_.reset( |
152 new CodedFrameProviderHost(consumer_fifo.Pass())); | 152 new CodedFrameProviderHost(std::move(consumer_fifo))); |
153 | 153 |
154 frame_consumer_.reset( | 154 frame_consumer_.reset( |
155 new MockFrameConsumer(coded_frame_provider_host_.get())); | 155 new MockFrameConsumer(coded_frame_provider_host_.get())); |
156 frame_consumer_->Configure( | 156 frame_consumer_->Configure(consumer_delayed_pattern, false, |
157 consumer_delayed_pattern, | 157 std::move(frame_generator_consumer)); |
158 false, | |
159 frame_generator_consumer.Pass()); | |
160 | 158 |
161 stop_and_flush_cb_count_ = 0; | 159 stop_and_flush_cb_count_ = 0; |
162 } | 160 } |
163 | 161 |
164 void AvStreamerTest::Start() { | 162 void AvStreamerTest::Start() { |
165 base::ThreadTaskRunnerHandle::Get()->PostTask( | 163 base::ThreadTaskRunnerHandle::Get()->PostTask( |
166 FROM_HERE, base::Bind(&AvStreamerProxy::Start, | 164 FROM_HERE, base::Bind(&AvStreamerProxy::Start, |
167 base::Unretained(av_buffer_proxy_.get()))); | 165 base::Unretained(av_buffer_proxy_.get()))); |
168 | 166 |
169 frame_consumer_->Start( | 167 frame_consumer_->Start( |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 message_loop->PostDelayedTask( | 314 message_loop->PostDelayedTask( |
317 FROM_HERE, | 315 FROM_HERE, |
318 base::Bind(&AvStreamerTest::FlushThenStop, base::Unretained(this)), | 316 base::Bind(&AvStreamerTest::FlushThenStop, base::Unretained(this)), |
319 base::TimeDelta::FromMilliseconds(10)); | 317 base::TimeDelta::FromMilliseconds(10)); |
320 | 318 |
321 message_loop->Run(); | 319 message_loop->Run(); |
322 } | 320 } |
323 | 321 |
324 } // namespace media | 322 } // namespace media |
325 } // namespace chromecast | 323 } // namespace chromecast |
OLD | NEW |