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

Side by Side Diff: media/audio/audio_manager_base.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 | « no previous file | media/audio/audio_output_proxy_unittest.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/audio_manager_base.h" 5 #include "media/audio/audio_manager_base.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/macros.h" 10 #include "base/macros.h"
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 switch (params.format()) { 130 switch (params.format()) {
131 case AudioParameters::AUDIO_PCM_LINEAR: 131 case AudioParameters::AUDIO_PCM_LINEAR:
132 DCHECK(AudioDeviceDescription::IsDefaultDevice(device_id)) 132 DCHECK(AudioDeviceDescription::IsDefaultDevice(device_id))
133 << "AUDIO_PCM_LINEAR supports only the default device."; 133 << "AUDIO_PCM_LINEAR supports only the default device.";
134 stream = MakeLinearOutputStream(params, log_callback); 134 stream = MakeLinearOutputStream(params, log_callback);
135 break; 135 break;
136 case AudioParameters::AUDIO_PCM_LOW_LATENCY: 136 case AudioParameters::AUDIO_PCM_LOW_LATENCY:
137 stream = MakeLowLatencyOutputStream(params, device_id, log_callback); 137 stream = MakeLowLatencyOutputStream(params, device_id, log_callback);
138 break; 138 break;
139 case AudioParameters::AUDIO_FAKE: 139 case AudioParameters::AUDIO_FAKE:
140 stream = FakeAudioOutputStream::MakeFakeStream(this, params); 140 stream = FakeAudioOutputStream::MakeFakeStream(
141 GetTaskRunner(), GetWorkerTaskRunner(), params);
141 break; 142 break;
142 default: 143 default:
143 stream = NULL; 144 stream = NULL;
144 break; 145 break;
145 } 146 }
146 147
147 if (stream) { 148 // Only count real physical streams. Fake streams do not hold reference to
149 // AudioManager and they do not need to be released.
150 if (stream && params.format() != AudioParameters::AUDIO_FAKE) {
148 ++num_output_streams_; 151 ++num_output_streams_;
149 } 152 }
150 153
151 return stream; 154 return stream;
152 } 155 }
153 156
154 AudioInputStream* AudioManagerBase::MakeAudioInputStream( 157 AudioInputStream* AudioManagerBase::MakeAudioInputStream(
155 const AudioParameters& params, 158 const AudioParameters& params,
156 const std::string& device_id, 159 const std::string& device_id,
157 const LogCallback& log_callback) { 160 const LogCallback& log_callback) {
(...skipping 17 matching lines...) Expand all
175 178
176 AudioInputStream* stream; 179 AudioInputStream* stream;
177 switch (params.format()) { 180 switch (params.format()) {
178 case AudioParameters::AUDIO_PCM_LINEAR: 181 case AudioParameters::AUDIO_PCM_LINEAR:
179 stream = MakeLinearInputStream(params, device_id, log_callback); 182 stream = MakeLinearInputStream(params, device_id, log_callback);
180 break; 183 break;
181 case AudioParameters::AUDIO_PCM_LOW_LATENCY: 184 case AudioParameters::AUDIO_PCM_LOW_LATENCY:
182 stream = MakeLowLatencyInputStream(params, device_id, log_callback); 185 stream = MakeLowLatencyInputStream(params, device_id, log_callback);
183 break; 186 break;
184 case AudioParameters::AUDIO_FAKE: 187 case AudioParameters::AUDIO_FAKE:
185 stream = FakeAudioInputStream::MakeFakeStream(this, params); 188 stream = FakeAudioInputStream::MakeFakeStream(
189 GetTaskRunner(), GetWorkerTaskRunner(), params);
186 break; 190 break;
187 default: 191 default:
188 stream = NULL; 192 stream = NULL;
189 break; 193 break;
190 } 194 }
191 195
192 if (stream) { 196 // Only count real physical streams. Fake streams do not hold reference to
197 // AudioManager and they do not need to be released.
198 if (stream && params.format() != AudioParameters::AUDIO_FAKE) {
193 ++num_input_streams_; 199 ++num_input_streams_;
194 } 200 }
195 201
196 return stream; 202 return stream;
197 } 203 }
198 204
199 AudioOutputStream* AudioManagerBase::MakeAudioOutputStreamProxy( 205 AudioOutputStream* AudioManagerBase::MakeAudioOutputStreamProxy(
200 const AudioParameters& params, 206 const AudioParameters& params,
201 const std::string& device_id) { 207 const std::string& device_id) {
202 DCHECK(GetTaskRunner()->BelongsToCurrentThread()); 208 DCHECK(GetTaskRunner()->BelongsToCurrentThread());
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 388
383 return 0; 389 return 0;
384 } 390 }
385 391
386 std::unique_ptr<AudioLog> AudioManagerBase::CreateAudioLog( 392 std::unique_ptr<AudioLog> AudioManagerBase::CreateAudioLog(
387 AudioLogFactory::AudioComponent component) { 393 AudioLogFactory::AudioComponent component) {
388 return audio_log_factory_->CreateAudioLog(component); 394 return audio_log_factory_->CreateAudioLog(component);
389 } 395 }
390 396
391 } // namespace media 397 } // namespace media
OLDNEW
« no previous file with comments | « no previous file | media/audio/audio_output_proxy_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698