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