OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "content/browser/renderer_host/media/audio_input_renderer_host.h" | 5 #include "content/browser/renderer_host/media/audio_input_renderer_host.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
11 #include "base/command_line.h" | 11 #include "base/command_line.h" |
12 #include "base/memory/ptr_util.h" | 12 #include "base/memory/ptr_util.h" |
13 #include "base/run_loop.h" | 13 #include "base/run_loop.h" |
14 #include "base/threading/thread_task_runner_handle.h" | 14 #include "base/threading/thread_task_runner_handle.h" |
15 #include "content/browser/bad_message.h" | 15 #include "content/browser/bad_message.h" |
16 #include "content/browser/media/capture/audio_mirroring_manager.h" | 16 #include "content/browser/media/capture/audio_mirroring_manager.h" |
17 #include "content/browser/renderer_host/media/audio_input_device_manager.h" | 17 #include "content/browser/renderer_host/media/audio_input_device_manager.h" |
18 #include "content/browser/renderer_host/media/media_stream_manager.h" | 18 #include "content/browser/renderer_host/media/media_stream_manager.h" |
19 #include "content/browser/renderer_host/media/media_stream_ui_proxy.h" | 19 #include "content/browser/renderer_host/media/media_stream_ui_proxy.h" |
20 #include "content/public/browser/browser_thread.h" | 20 #include "content/public/browser/browser_thread.h" |
21 #include "content/public/common/content_switches.h" | 21 #include "content/public/common/content_switches.h" |
22 #include "content/public/test/mock_render_process_host.h" | 22 #include "content/public/test/mock_render_process_host.h" |
23 #include "content/public/test/test_browser_context.h" | 23 #include "content/public/test/test_browser_context.h" |
24 #include "content/public/test/test_browser_thread.h" | 24 #include "content/public/test/test_browser_thread.h" |
25 #include "content/public/test/test_browser_thread_bundle.h" | 25 #include "content/public/test/test_browser_thread_bundle.h" |
26 #include "media/audio/audio_device_description.h" | 26 #include "media/audio/audio_device_description.h" |
27 #include "media/audio/audio_file_writer.h" | |
28 #include "media/audio/fake_audio_log_factory.h" | 27 #include "media/audio/fake_audio_log_factory.h" |
29 #include "media/audio/fake_audio_manager.h" | 28 #include "media/audio/fake_audio_manager.h" |
30 #include "media/base/media_switches.h" | 29 #include "media/base/media_switches.h" |
31 #include "testing/gmock/include/gmock/gmock.h" | 30 #include "testing/gmock/include/gmock/gmock.h" |
32 #include "testing/gtest/include/gtest/gtest.h" | 31 #include "testing/gtest/include/gtest/gtest.h" |
33 #include "url/gurl.h" | 32 #include "url/gurl.h" |
34 #include "url/origin.h" | 33 #include "url/origin.h" |
35 | 34 |
36 using ::media::AudioInputController; | 35 using ::media::AudioInputController; |
37 using ::testing::_; | 36 using ::testing::_; |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 }; | 156 }; |
158 | 157 |
159 class MockAudioInputController : public AudioInputController { | 158 class MockAudioInputController : public AudioInputController { |
160 public: | 159 public: |
161 MockAudioInputController( | 160 MockAudioInputController( |
162 scoped_refptr<base::SingleThreadTaskRunner> task_runner, | 161 scoped_refptr<base::SingleThreadTaskRunner> task_runner, |
163 AudioInputController::SyncWriter* writer, | 162 AudioInputController::SyncWriter* writer, |
164 media::AudioManager* audio_manager, | 163 media::AudioManager* audio_manager, |
165 AudioInputController::EventHandler* event_handler, | 164 AudioInputController::EventHandler* event_handler, |
166 media::UserInputMonitor* user_input_monitor, | 165 media::UserInputMonitor* user_input_monitor, |
167 StreamType type) | 166 const media::AudioParameters& params, |
| 167 StreamType type, |
| 168 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner) |
168 : AudioInputController(std::move(task_runner), | 169 : AudioInputController(std::move(task_runner), |
169 event_handler, | 170 event_handler, |
170 writer, | 171 writer, |
171 /*debug_writer*/ nullptr, | |
172 user_input_monitor, | 172 user_input_monitor, |
173 type) { | 173 params, |
| 174 type, |
| 175 std::move(file_task_runner)) { |
174 GetTaskRunnerForTesting()->PostTask( | 176 GetTaskRunnerForTesting()->PostTask( |
175 FROM_HERE, | 177 FROM_HERE, |
176 base::Bind(&AudioInputController::EventHandler::OnCreated, | 178 base::Bind(&AudioInputController::EventHandler::OnCreated, |
177 base::Unretained(event_handler), base::Unretained(this))); | 179 base::Unretained(event_handler), base::Unretained(this))); |
178 ON_CALL(*this, Close(_)) | 180 ON_CALL(*this, Close(_)) |
179 .WillByDefault(Invoke(this, &MockAudioInputController::ExecuteClose)); | 181 .WillByDefault(Invoke(this, &MockAudioInputController::ExecuteClose)); |
180 ON_CALL(*this, EnableDebugRecording(_)) | 182 ON_CALL(*this, EnableDebugRecording(_)) |
181 .WillByDefault(SaveArg<0>(&file_name)); | 183 .WillByDefault(SaveArg<0>(&file_name)); |
182 } | 184 } |
183 | 185 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 using MockController = StrictMock<MockAudioInputController>; | 219 using MockController = StrictMock<MockAudioInputController>; |
218 | 220 |
219 MockControllerFactory() { | 221 MockControllerFactory() { |
220 AudioInputController::set_factory_for_testing(this); | 222 AudioInputController::set_factory_for_testing(this); |
221 } | 223 } |
222 | 224 |
223 ~MockControllerFactory() override { | 225 ~MockControllerFactory() override { |
224 AudioInputController::set_factory_for_testing(nullptr); | 226 AudioInputController::set_factory_for_testing(nullptr); |
225 } | 227 } |
226 | 228 |
227 // AudioInputController::Factory implementaion: | 229 // AudioInputController::Factory implementation: |
228 AudioInputController* Create( | 230 AudioInputController* Create( |
229 scoped_refptr<base::SingleThreadTaskRunner> task_runner, | 231 scoped_refptr<base::SingleThreadTaskRunner> task_runner, |
230 AudioInputController::SyncWriter* sync_writer, | 232 AudioInputController::SyncWriter* sync_writer, |
231 media::AudioManager* audio_manager, | 233 media::AudioManager* audio_manager, |
232 AudioInputController::EventHandler* event_handler, | 234 AudioInputController::EventHandler* event_handler, |
233 media::AudioParameters params, | 235 media::AudioParameters params, |
234 media::UserInputMonitor* user_input_monitor, | 236 media::UserInputMonitor* user_input_monitor, |
235 AudioInputController::StreamType type) override { | 237 AudioInputController::StreamType type) override { |
236 ControllerCreated(); | 238 ControllerCreated(); |
237 scoped_refptr<MockController> controller = | 239 scoped_refptr<MockController> controller = new MockController( |
238 new MockController(std::move(task_runner), sync_writer, audio_manager, | 240 task_runner, sync_writer, audio_manager, event_handler, |
239 event_handler, user_input_monitor, type); | 241 user_input_monitor, params, type, task_runner); |
240 controller_list_.push_back(controller); | 242 controller_list_.push_back(controller); |
241 return controller.get(); | 243 return controller.get(); |
242 } | 244 } |
243 | 245 |
244 MockController* controller(size_t i) { | 246 MockController* controller(size_t i) { |
245 EXPECT_GT(controller_list_.size(), i); | 247 EXPECT_GT(controller_list_.size(), i); |
246 return controller_list_[i].get(); | 248 return controller_list_[i].get(); |
247 } | 249 } |
248 | 250 |
249 MOCK_METHOD0(ControllerCreated, void()); | 251 MOCK_METHOD0(ControllerCreated, void()); |
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
553 EXPECT_CALL(controller_factory_, ControllerCreated()); | 555 EXPECT_CALL(controller_factory_, ControllerCreated()); |
554 | 556 |
555 airh_->OnMessageReceived(AudioInputHostMsg_CreateStream( | 557 airh_->OnMessageReceived(AudioInputHostMsg_CreateStream( |
556 kStreamId, kRenderFrameId, session_id, DefaultConfig())); | 558 kStreamId, kRenderFrameId, session_id, DefaultConfig())); |
557 base::RunLoop().RunUntilIdle(); | 559 base::RunLoop().RunUntilIdle(); |
558 | 560 |
559 EXPECT_CALL(*controller_factory_.controller(0), Close(_)); | 561 EXPECT_CALL(*controller_factory_.controller(0), Close(_)); |
560 } | 562 } |
561 | 563 |
562 } // namespace content | 564 } // namespace content |
OLD | NEW |