| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/message_loop.h" | 5 #include "base/message_loop.h" |
| 6 #include "base/process_util.h" | 6 #include "base/process_util.h" |
| 7 #include "base/synchronization/waitable_event.h" | 7 #include "base/synchronization/waitable_event.h" |
| 8 #include "base/test/test_timeouts.h" | 8 #include "base/test/test_timeouts.h" |
| 9 #include "base/time.h" | 9 #include "base/time.h" |
| 10 #include "content/common/child_process.h" | 10 #include "content/common/child_process.h" |
| 11 #include "content/common/child_thread.h" | 11 #include "content/common/child_thread.h" |
| 12 #include "content/common/media/audio_messages.h" | 12 #include "content/common/media/audio_messages.h" |
| 13 #include "content/renderer/media/audio_renderer_impl.h" | 13 #include "content/renderer/media/audio_renderer_impl.h" |
| 14 #include "content/renderer/mock_content_renderer_client.h" | 14 #include "content/renderer/mock_content_renderer_client.h" |
| 15 #include "content/renderer/render_process.h" | 15 #include "content/renderer/render_process.h" |
| 16 #include "content/renderer/render_thread.h" | 16 #include "content/renderer/render_thread_impl.h" |
| 17 #include "ipc/ipc_channel.h" | 17 #include "ipc/ipc_channel.h" |
| 18 #include "media/base/data_buffer.h" | 18 #include "media/base/data_buffer.h" |
| 19 #include "media/base/mock_callback.h" | 19 #include "media/base/mock_callback.h" |
| 20 #include "media/base/mock_filter_host.h" | 20 #include "media/base/mock_filter_host.h" |
| 21 #include "media/base/mock_filters.h" | 21 #include "media/base/mock_filters.h" |
| 22 #include "testing/gtest/include/gtest/gtest.h" | 22 #include "testing/gtest/include/gtest/gtest.h" |
| 23 | 23 |
| 24 using ::testing::Return; | 24 using ::testing::Return; |
| 25 | 25 |
| 26 namespace { | 26 namespace { |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 138 // Main parts are inspired by the RenderViewFakeResourcesTest. | 138 // Main parts are inspired by the RenderViewFakeResourcesTest. |
| 139 // Note that, the IPC part is not utilized in this test. | 139 // Note that, the IPC part is not utilized in this test. |
| 140 content::GetContentClient()->set_renderer(&mock_content_renderer_client_); | 140 content::GetContentClient()->set_renderer(&mock_content_renderer_client_); |
| 141 | 141 |
| 142 static const char kThreadName[] = "RenderThread"; | 142 static const char kThreadName[] = "RenderThread"; |
| 143 channel_.reset(new IPC::Channel(kThreadName, | 143 channel_.reset(new IPC::Channel(kThreadName, |
| 144 IPC::Channel::MODE_SERVER, this)); | 144 IPC::Channel::MODE_SERVER, this)); |
| 145 ASSERT_TRUE(channel_->Connect()); | 145 ASSERT_TRUE(channel_->Connect()); |
| 146 | 146 |
| 147 mock_process_.reset(new MockRenderProcess); | 147 mock_process_.reset(new MockRenderProcess); |
| 148 render_thread_ = new RenderThread(kThreadName); | 148 render_thread_ = new RenderThreadImpl(kThreadName); |
| 149 mock_process_->set_main_thread(render_thread_); | 149 mock_process_->set_main_thread(render_thread_); |
| 150 | 150 |
| 151 // Create temporary shared memory. | 151 // Create temporary shared memory. |
| 152 CHECK(shared_mem_.CreateAnonymous(kSize)); | 152 CHECK(shared_mem_.CreateAnonymous(kSize)); |
| 153 | 153 |
| 154 // Setup expectations for initialization. | 154 // Setup expectations for initialization. |
| 155 decoder_ = new media::MockAudioDecoder(); | 155 decoder_ = new media::MockAudioDecoder(); |
| 156 | 156 |
| 157 EXPECT_CALL(*decoder_, bits_per_channel()) | 157 EXPECT_CALL(*decoder_, bits_per_channel()) |
| 158 .WillRepeatedly(Return(16)); | 158 .WillRepeatedly(Return(16)); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 void WaitForIOThreadCompletion() { | 197 void WaitForIOThreadCompletion() { |
| 198 ChildProcess::current()->io_message_loop()->PostTask( | 198 ChildProcess::current()->io_message_loop()->PostTask( |
| 199 FROM_HERE, new WaitTask(event_.get())); | 199 FROM_HERE, new WaitTask(event_.get())); |
| 200 EXPECT_TRUE(event_->TimedWait( | 200 EXPECT_TRUE(event_->TimedWait( |
| 201 base::TimeDelta::FromMilliseconds(TestTimeouts::action_timeout_ms()))); | 201 base::TimeDelta::FromMilliseconds(TestTimeouts::action_timeout_ms()))); |
| 202 } | 202 } |
| 203 | 203 |
| 204 MessageLoopForIO message_loop_; | 204 MessageLoopForIO message_loop_; |
| 205 content::MockContentRendererClient mock_content_renderer_client_; | 205 content::MockContentRendererClient mock_content_renderer_client_; |
| 206 scoped_ptr<IPC::Channel> channel_; | 206 scoped_ptr<IPC::Channel> channel_; |
| 207 RenderThread* render_thread_; // owned by mock_process_ | 207 RenderThreadImpl* render_thread_; // owned by mock_process_ |
| 208 scoped_ptr<MockRenderProcess> mock_process_; | 208 scoped_ptr<MockRenderProcess> mock_process_; |
| 209 base::SharedMemory shared_mem_; | 209 base::SharedMemory shared_mem_; |
| 210 media::MockFilterHost host_; | 210 media::MockFilterHost host_; |
| 211 scoped_refptr<media::MockAudioDecoder> decoder_; | 211 scoped_refptr<media::MockAudioDecoder> decoder_; |
| 212 scoped_refptr<AudioRendererImpl> renderer_; | 212 scoped_refptr<AudioRendererImpl> renderer_; |
| 213 scoped_ptr<base::WaitableEvent> event_; | 213 scoped_ptr<base::WaitableEvent> event_; |
| 214 scoped_refptr<DelegateCaller> delegate_caller_; | 214 scoped_refptr<DelegateCaller> delegate_caller_; |
| 215 | 215 |
| 216 private: | 216 private: |
| 217 DISALLOW_COPY_AND_ASSIGN(AudioRendererImplTest); | 217 DISALLOW_COPY_AND_ASSIGN(AudioRendererImplTest); |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 339 base::Time time_now = base::Time(); // Null time by default. | 339 base::Time time_now = base::Time(); // Null time by default. |
| 340 renderer_->set_earliest_end_time(time_now); | 340 renderer_->set_earliest_end_time(time_now); |
| 341 renderer_->UpdateEarliestEndTime(renderer_->bytes_per_second(), | 341 renderer_->UpdateEarliestEndTime(renderer_->bytes_per_second(), |
| 342 base::TimeDelta::FromMilliseconds(100), | 342 base::TimeDelta::FromMilliseconds(100), |
| 343 time_now); | 343 time_now); |
| 344 int time_delta = (renderer_->earliest_end_time() - time_now).InMilliseconds(); | 344 int time_delta = (renderer_->earliest_end_time() - time_now).InMilliseconds(); |
| 345 EXPECT_EQ(1100, time_delta); | 345 EXPECT_EQ(1100, time_delta); |
| 346 renderer_->Stop(media::NewExpectedClosure()); | 346 renderer_->Stop(media::NewExpectedClosure()); |
| 347 WaitForIOThreadCompletion(); | 347 WaitForIOThreadCompletion(); |
| 348 } | 348 } |
| OLD | NEW |