Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(516)

Side by Side Diff: media/audio/test_audio_input_controller_factory.cc

Issue 2624403002: Refactor AudioInputController and related interfaces. (Closed)
Patch Set: Address comments Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
OLDNEW
« no previous file with comments | « media/audio/test_audio_input_controller_factory.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698