| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "media/audio/test_audio_input_controller_factory.h" | 5 #include "media/audio/test_audio_input_controller_factory.h" |
| 6 #include "media/audio/audio_file_writer.h" | 6 #include "media/audio/audio_file_writer.h" |
| 7 #include "media/audio/audio_io.h" | 7 #include "media/audio/audio_io.h" |
| 8 | 8 |
| 9 namespace media { | 9 namespace media { |
| 10 | 10 |
| 11 TestAudioInputController::TestAudioInputController( | 11 TestAudioInputController::TestAudioInputController( |
| 12 TestAudioInputControllerFactory* factory, | 12 TestAudioInputControllerFactory* factory, |
| 13 AudioManager* audio_manager, | 13 AudioManager* audio_manager, |
| 14 const AudioParameters& audio_parameters, | 14 const AudioParameters& audio_parameters, |
| 15 EventHandler* event_handler, | 15 EventHandler* event_handler, |
| 16 SyncWriter* sync_writer, | 16 SyncWriter* sync_writer, |
| 17 UserInputMonitor* user_input_monitor) | 17 UserInputMonitor* user_input_monitor) |
| 18 : AudioInputController(event_handler, | 18 : AudioInputController(audio_manager->GetTaskRunner(), |
| 19 event_handler, |
| 19 sync_writer, | 20 sync_writer, |
| 20 nullptr, | 21 nullptr, |
| 21 user_input_monitor, | 22 user_input_monitor, |
| 22 false), | 23 false), |
| 23 audio_parameters_(audio_parameters), | 24 audio_parameters_(audio_parameters), |
| 24 factory_(factory), | 25 factory_(factory), |
| 25 event_handler_(event_handler) { | 26 event_handler_(event_handler), |
| 26 task_runner_ = audio_manager->GetTaskRunner(); | 27 sync_writer_(sync_writer) {} |
| 27 } | |
| 28 | 28 |
| 29 TestAudioInputController::~TestAudioInputController() { | 29 TestAudioInputController::~TestAudioInputController() { |
| 30 // Inform the factory so that it allows creating new instances in future. | 30 // Inform the factory so that it allows creating new instances in future. |
| 31 factory_->OnTestAudioInputControllerDestroyed(this); | 31 factory_->OnTestAudioInputControllerDestroyed(this); |
| 32 } | 32 } |
| 33 | 33 |
| 34 void TestAudioInputController::Record() { | 34 void TestAudioInputController::Record() { |
| 35 if (factory_->delegate_) | 35 if (factory_->delegate_) |
| 36 factory_->delegate_->TestAudioControllerOpened(this); | 36 factory_->delegate_->TestAudioControllerOpened(this); |
| 37 } | 37 } |
| 38 | 38 |
| 39 void TestAudioInputController::Close(const base::Closure& closed_task) { | 39 void TestAudioInputController::Close(const base::Closure& closed_task) { |
| 40 task_runner_->PostTask(FROM_HERE, closed_task); | 40 GetTaskRunnerForTesting()->PostTask(FROM_HERE, closed_task); |
| 41 if (factory_->delegate_) | 41 if (factory_->delegate_) |
| 42 factory_->delegate_->TestAudioControllerClosed(this); | 42 factory_->delegate_->TestAudioControllerClosed(this); |
| 43 } | 43 } |
| 44 | 44 |
| 45 TestAudioInputControllerFactory::TestAudioInputControllerFactory() | 45 TestAudioInputControllerFactory::TestAudioInputControllerFactory() |
| 46 : controller_(NULL), | 46 : controller_(NULL), |
| 47 delegate_(NULL) { | 47 delegate_(NULL) { |
| 48 } | 48 } |
| 49 | 49 |
| 50 TestAudioInputControllerFactory::~TestAudioInputControllerFactory() { | 50 TestAudioInputControllerFactory::~TestAudioInputControllerFactory() { |
| 51 DCHECK(!controller_); | 51 DCHECK(!controller_); |
| 52 } | 52 } |
| 53 | 53 |
| 54 AudioInputController* TestAudioInputControllerFactory::Create( | 54 AudioInputController* TestAudioInputControllerFactory::Create( |
| 55 scoped_refptr<base::SingleThreadTaskRunner> task_runner, | 55 scoped_refptr<base::SingleThreadTaskRunner> task_runner, |
| 56 AudioInputController::SyncWriter* sync_writer, | 56 AudioInputController::SyncWriter* sync_writer, |
| 57 AudioManager* audio_manager, | 57 AudioManager* audio_manager, |
| 58 AudioInputController::EventHandler* event_handler, | 58 AudioInputController::EventHandler* event_handler, |
| 59 AudioParameters params, | 59 AudioParameters params, |
| 60 UserInputMonitor* user_input_monitor) { | 60 UserInputMonitor* user_input_monitor) { |
| 61 DCHECK(!controller_); // Only one test instance managed at a time. | 61 DCHECK(!controller_); // Only one test instance managed at a time. |
| 62 controller_ = new TestAudioInputController( | 62 controller_ = |
| 63 this, audio_manager, params, event_handler, NULL, user_input_monitor); | 63 new TestAudioInputController(this, audio_manager, params, event_handler, |
| 64 sync_writer, user_input_monitor); |
| 64 return controller_; | 65 return controller_; |
| 65 } | 66 } |
| 66 | 67 |
| 67 void TestAudioInputControllerFactory::OnTestAudioInputControllerDestroyed( | 68 void TestAudioInputControllerFactory::OnTestAudioInputControllerDestroyed( |
| 68 TestAudioInputController* controller) { | 69 TestAudioInputController* controller) { |
| 69 DCHECK_EQ(controller_, controller); | 70 DCHECK_EQ(controller_, controller); |
| 70 controller_ = NULL; | 71 controller_ = NULL; |
| 71 } | 72 } |
| 72 | 73 |
| 73 } // namespace media | 74 } // namespace media |
| OLD | NEW |