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

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

Issue 2507643002: Removes tracking for fake audio streams. (Closed)
Patch Set: Created 4 years, 1 month 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
« no previous file with comments | « media/audio/fake_audio_input_stream.h ('k') | media/audio/fake_audio_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/fake_audio_input_stream.h" 5 #include "media/audio/fake_audio_input_stream.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
11 #include "base/memory/ptr_util.h" 11 #include "base/memory/ptr_util.h"
12 #include "base/single_thread_task_runner.h" 12 #include "base/single_thread_task_runner.h"
13 #include "base/strings/string_split.h" 13 #include "base/strings/string_split.h"
14 #include "base/time/time.h" 14 #include "base/time/time.h"
15 #include "media/audio/audio_manager_base.h"
16 #include "media/audio/simple_sources.h" 15 #include "media/audio/simple_sources.h"
17 #include "media/base/audio_bus.h" 16 #include "media/base/audio_bus.h"
18 #include "media/base/media_switches.h" 17 #include "media/base/media_switches.h"
19 18
20 namespace media { 19 namespace media {
21 20
22 AudioInputStream* FakeAudioInputStream::MakeFakeStream( 21 AudioInputStream* FakeAudioInputStream::MakeFakeStream(
23 AudioManagerBase* manager, 22 const scoped_refptr<base::SingleThreadTaskRunner>& audio_task_runner,
23 const scoped_refptr<base::SingleThreadTaskRunner>& worker_task_runner,
24 const AudioParameters& params) { 24 const AudioParameters& params) {
25 return new FakeAudioInputStream(manager, params); 25 return new FakeAudioInputStream(audio_task_runner, worker_task_runner,
26 params);
26 } 27 }
27 28
28 FakeAudioInputStream::FakeAudioInputStream(AudioManagerBase* manager, 29 FakeAudioInputStream::FakeAudioInputStream(
29 const AudioParameters& params) 30 const scoped_refptr<base::SingleThreadTaskRunner>& audio_task_runner,
30 : audio_manager_(manager), 31 const scoped_refptr<base::SingleThreadTaskRunner>& worker_task_runner,
31 callback_(NULL), 32 const AudioParameters& params)
32 fake_audio_worker_(manager->GetWorkerTaskRunner(), params), 33 : callback_(NULL),
34 fake_audio_worker_(worker_task_runner, params),
35 audio_task_runner_(audio_task_runner),
36 worker_task_runner_(worker_task_runner),
33 params_(params), 37 params_(params),
34 audio_bus_(AudioBus::Create(params)) { 38 audio_bus_(AudioBus::Create(params)) {
35 DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread()); 39 DCHECK(audio_task_runner_->BelongsToCurrentThread());
36 } 40 }
37 41
38 FakeAudioInputStream::~FakeAudioInputStream() { 42 FakeAudioInputStream::~FakeAudioInputStream() {
43 DCHECK(audio_task_runner_->BelongsToCurrentThread());
39 DCHECK(!callback_); 44 DCHECK(!callback_);
40 } 45 }
41 46
42 bool FakeAudioInputStream::Open() { 47 bool FakeAudioInputStream::Open() {
43 DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread()); 48 DCHECK(audio_task_runner_->BelongsToCurrentThread());
44 audio_bus_->Zero(); 49 audio_bus_->Zero();
45 50
46 return true; 51 return true;
47 } 52 }
48 53
49 void FakeAudioInputStream::Start(AudioInputCallback* callback) { 54 void FakeAudioInputStream::Start(AudioInputCallback* callback) {
50 DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread()); 55 DCHECK(audio_task_runner_->BelongsToCurrentThread());
51 callback_ = callback; 56 callback_ = callback;
52 fake_audio_worker_.Start(base::Bind( 57 fake_audio_worker_.Start(base::Bind(
53 &FakeAudioInputStream::ReadAudioFromSource, base::Unretained(this))); 58 &FakeAudioInputStream::ReadAudioFromSource, base::Unretained(this)));
54 } 59 }
55 60
56 void FakeAudioInputStream::Stop() { 61 void FakeAudioInputStream::Stop() {
57 DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread()); 62 DCHECK(audio_task_runner_->BelongsToCurrentThread());
58 fake_audio_worker_.Stop(); 63 fake_audio_worker_.Stop();
59 callback_ = NULL; 64 callback_ = NULL;
60 } 65 }
61 66
62 void FakeAudioInputStream::Close() { 67 void FakeAudioInputStream::Close() {
63 DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread()); 68 DCHECK(audio_task_runner_->BelongsToCurrentThread());
64 DCHECK(!callback_); 69 DCHECK(!callback_);
65 audio_manager_->ReleaseInputStream(this); 70 delete this;
66 } 71 }
67 72
68 double FakeAudioInputStream::GetMaxVolume() { 73 double FakeAudioInputStream::GetMaxVolume() {
69 DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread()); 74 DCHECK(audio_task_runner_->BelongsToCurrentThread());
70 return 1.0; 75 return 1.0;
71 } 76 }
72 77
73 void FakeAudioInputStream::SetVolume(double volume) { 78 void FakeAudioInputStream::SetVolume(double volume) {
74 DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread()); 79 DCHECK(audio_task_runner_->BelongsToCurrentThread());
75 } 80 }
76 81
77 double FakeAudioInputStream::GetVolume() { 82 double FakeAudioInputStream::GetVolume() {
78 DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread()); 83 DCHECK(audio_task_runner_->BelongsToCurrentThread());
79 return 1.0; 84 return 1.0;
80 } 85 }
81 86
82 bool FakeAudioInputStream::IsMuted() { 87 bool FakeAudioInputStream::IsMuted() {
83 DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread()); 88 DCHECK(audio_task_runner_->BelongsToCurrentThread());
84 return false; 89 return false;
85 } 90 }
86 91
87 bool FakeAudioInputStream::SetAutomaticGainControl(bool enabled) { 92 bool FakeAudioInputStream::SetAutomaticGainControl(bool enabled) {
88 return false; 93 return false;
89 } 94 }
90 95
91 bool FakeAudioInputStream::GetAutomaticGainControl() { 96 bool FakeAudioInputStream::GetAutomaticGainControl() {
92 return false; 97 return false;
93 } 98 }
94 99
95 void FakeAudioInputStream::ReadAudioFromSource() { 100 void FakeAudioInputStream::ReadAudioFromSource() {
96 DCHECK(audio_manager_->GetWorkerTaskRunner()->BelongsToCurrentThread()); 101 DCHECK(worker_task_runner_->BelongsToCurrentThread());
97 DCHECK(callback_); 102 DCHECK(callback_);
98 103
99 if (!audio_source_) 104 if (!audio_source_)
100 audio_source_ = ChooseSource(); 105 audio_source_ = ChooseSource();
101 106
102 audio_source_->OnMoreData(base::TimeDelta(), base::TimeTicks::Now(), 0, 107 audio_source_->OnMoreData(base::TimeDelta(), base::TimeTicks::Now(), 0,
103 audio_bus_.get()); 108 audio_bus_.get());
104 callback_->OnData(this, audio_bus_.get(), 0, 1.0); 109 callback_->OnData(this, audio_bus_.get(), 0, 1.0);
105 } 110 }
106 111
107 using AudioSourceCallback = AudioOutputStream::AudioSourceCallback; 112 using AudioSourceCallback = AudioOutputStream::AudioSourceCallback;
108 std::unique_ptr<AudioSourceCallback> FakeAudioInputStream::ChooseSource() { 113 std::unique_ptr<AudioSourceCallback> FakeAudioInputStream::ChooseSource() {
109 DCHECK(audio_manager_->GetWorkerTaskRunner()->BelongsToCurrentThread()); 114 DCHECK(worker_task_runner_->BelongsToCurrentThread());
110 115
111 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 116 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
112 switches::kUseFileForFakeAudioCapture)) { 117 switches::kUseFileForFakeAudioCapture)) {
113 base::CommandLine::StringType switch_value = 118 base::CommandLine::StringType switch_value =
114 base::CommandLine::ForCurrentProcess()->GetSwitchValueNative( 119 base::CommandLine::ForCurrentProcess()->GetSwitchValueNative(
115 switches::kUseFileForFakeAudioCapture); 120 switches::kUseFileForFakeAudioCapture);
116 base::CommandLine::StringVector parameters = 121 base::CommandLine::StringVector parameters =
117 base::SplitString(switch_value, FILE_PATH_LITERAL("%"), 122 base::SplitString(switch_value, FILE_PATH_LITERAL("%"),
118 base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY); 123 base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
119 CHECK(parameters.size() > 0) << "You must pass <file>[%noloop] to --" 124 CHECK(parameters.size() > 0) << "You must pass <file>[%noloop] to --"
(...skipping 10 matching lines...) Expand all
130 return base::MakeUnique<FileSource>(params_, path_to_wav_file, looping); 135 return base::MakeUnique<FileSource>(params_, path_to_wav_file, looping);
131 } 136 }
132 return base::MakeUnique<BeepingSource>(params_); 137 return base::MakeUnique<BeepingSource>(params_);
133 } 138 }
134 139
135 void FakeAudioInputStream::BeepOnce() { 140 void FakeAudioInputStream::BeepOnce() {
136 BeepingSource::BeepOnce(); 141 BeepingSource::BeepOnce();
137 } 142 }
138 143
139 } // namespace media 144 } // namespace media
OLDNEW
« no previous file with comments | « media/audio/fake_audio_input_stream.h ('k') | media/audio/fake_audio_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698