| 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 |