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

Side by Side Diff: media/audio/cras/audio_manager_cras.cc

Issue 1304973005: Refactor AudioParameters member setting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More cross-platform. Created 5 years, 3 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/cras/audio_manager_cras.h" 5 #include "media/audio/cras/audio_manager_cras.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/environment.h" 10 #include "base/environment.h"
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 90
91 int user_buffer_size = GetUserBufferSize(); 91 int user_buffer_size = GetUserBufferSize();
92 int buffer_size = user_buffer_size ? 92 int buffer_size = user_buffer_size ?
93 user_buffer_size : kDefaultInputBufferSize; 93 user_buffer_size : kDefaultInputBufferSize;
94 AudioParameters::PlatformEffectsMask effects = 94 AudioParameters::PlatformEffectsMask effects =
95 has_keyboard_mic_ ? AudioParameters::KEYBOARD_MIC 95 has_keyboard_mic_ ? AudioParameters::KEYBOARD_MIC
96 : AudioParameters::NO_EFFECTS; 96 : AudioParameters::NO_EFFECTS;
97 97
98 // TODO(hshi): Fine-tune audio parameters based on |device_id|. The optimal 98 // TODO(hshi): Fine-tune audio parameters based on |device_id|. The optimal
99 // parameters for the loopback stream may differ from the default. 99 // parameters for the loopback stream may differ from the default.
100 return AudioParameters( 100 AudioParameters params(AudioParameters::AUDIO_PCM_LOW_LATENCY,
101 AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO, 101 CHANNEL_LAYOUT_STEREO, kDefaultSampleRate, 16,
102 kDefaultSampleRate, 16, buffer_size, effects); 102 buffer_size);
103 params.set_effects(effects);
104 return params;
103 } 105 }
104 106
105 void AudioManagerCras::SetHasKeyboardMic() { 107 void AudioManagerCras::SetHasKeyboardMic() {
106 DCHECK(GetTaskRunner()->BelongsToCurrentThread()); 108 DCHECK(GetTaskRunner()->BelongsToCurrentThread());
107 has_keyboard_mic_ = true; 109 has_keyboard_mic_ = true;
108 } 110 }
109 111
110 AudioOutputStream* AudioManagerCras::MakeLinearOutputStream( 112 AudioOutputStream* AudioManagerCras::MakeLinearOutputStream(
111 const AudioParameters& params) { 113 const AudioParameters& params) {
112 DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); 114 DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format());
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 channel_layout = input_params.channel_layout(); 151 channel_layout = input_params.channel_layout();
150 buffer_size = 152 buffer_size =
151 std::min(kMaximumOutputBufferSize, 153 std::min(kMaximumOutputBufferSize,
152 std::max(buffer_size, input_params.frames_per_buffer())); 154 std::max(buffer_size, input_params.frames_per_buffer()));
153 } 155 }
154 156
155 int user_buffer_size = GetUserBufferSize(); 157 int user_buffer_size = GetUserBufferSize();
156 if (user_buffer_size) 158 if (user_buffer_size)
157 buffer_size = user_buffer_size; 159 buffer_size = user_buffer_size;
158 160
159 return AudioParameters( 161 return AudioParameters(AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout,
160 AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, 162 sample_rate, bits_per_sample, buffer_size);
161 sample_rate, bits_per_sample, buffer_size, AudioParameters::NO_EFFECTS);
162 } 163 }
163 164
164 AudioOutputStream* AudioManagerCras::MakeOutputStream( 165 AudioOutputStream* AudioManagerCras::MakeOutputStream(
165 const AudioParameters& params) { 166 const AudioParameters& params) {
166 return new CrasUnifiedStream(params, this); 167 return new CrasUnifiedStream(params, this);
167 } 168 }
168 169
169 AudioInputStream* AudioManagerCras::MakeInputStream( 170 AudioInputStream* AudioManagerCras::MakeInputStream(
170 const AudioParameters& params, const std::string& device_id) { 171 const AudioParameters& params, const std::string& device_id) {
171 return new CrasInputStream(params, this, device_id); 172 return new CrasInputStream(params, this, device_id);
172 } 173 }
173 174
174 snd_pcm_format_t AudioManagerCras::BitsToFormat(int bits_per_sample) { 175 snd_pcm_format_t AudioManagerCras::BitsToFormat(int bits_per_sample) {
175 switch (bits_per_sample) { 176 switch (bits_per_sample) {
176 case 8: 177 case 8:
177 return SND_PCM_FORMAT_U8; 178 return SND_PCM_FORMAT_U8;
178 case 16: 179 case 16:
179 return SND_PCM_FORMAT_S16; 180 return SND_PCM_FORMAT_S16;
180 case 24: 181 case 24:
181 return SND_PCM_FORMAT_S24; 182 return SND_PCM_FORMAT_S24;
182 case 32: 183 case 32:
183 return SND_PCM_FORMAT_S32; 184 return SND_PCM_FORMAT_S32;
184 default: 185 default:
185 return SND_PCM_FORMAT_UNKNOWN; 186 return SND_PCM_FORMAT_UNKNOWN;
186 } 187 }
187 } 188 }
188 189
189 } // namespace media 190 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698