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

Side by Side Diff: media/audio/pulse/audio_manager_pulse.cc

Issue 163343002: Reland 153623004: Remove the unified IO code on the browser (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: fixed the cras bot Created 6 years, 10 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
« no previous file with comments | « media/audio/pulse/audio_manager_pulse.h ('k') | media/audio/pulse/pulse_unified.h » ('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 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/pulse/audio_manager_pulse.h" 5 #include "media/audio/pulse/audio_manager_pulse.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/environment.h" 8 #include "base/environment.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/nix/xdg_util.h" 11 #include "base/nix/xdg_util.h"
12 #include "base/stl_util.h" 12 #include "base/stl_util.h"
13 #if defined(USE_ALSA) 13 #if defined(USE_ALSA)
14 #include "media/audio/alsa/audio_manager_alsa.h" 14 #include "media/audio/alsa/audio_manager_alsa.h"
15 #endif 15 #endif
16 #include "media/audio/audio_parameters.h" 16 #include "media/audio/audio_parameters.h"
17 #include "media/audio/pulse/pulse_input.h" 17 #include "media/audio/pulse/pulse_input.h"
18 #include "media/audio/pulse/pulse_output.h" 18 #include "media/audio/pulse/pulse_output.h"
19 #include "media/audio/pulse/pulse_unified.h"
20 #include "media/audio/pulse/pulse_util.h" 19 #include "media/audio/pulse/pulse_util.h"
21 #include "media/base/channel_layout.h" 20 #include "media/base/channel_layout.h"
22 21
23 #if defined(DLOPEN_PULSEAUDIO) 22 #if defined(DLOPEN_PULSEAUDIO)
24 #include "media/audio/pulse/pulse_stubs.h" 23 #include "media/audio/pulse/pulse_stubs.h"
25 24
26 using media_audio_pulse::kModulePulse; 25 using media_audio_pulse::kModulePulse;
27 using media_audio_pulse::InitializeStubs; 26 using media_audio_pulse::InitializeStubs;
28 using media_audio_pulse::StubPathMap; 27 using media_audio_pulse::StubPathMap;
29 #endif // defined(DLOPEN_PULSEAUDIO) 28 #endif // defined(DLOPEN_PULSEAUDIO)
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 125
127 // TODO(xians): add support for querying native channel layout for pulse. 126 // TODO(xians): add support for querying native channel layout for pulse.
128 return AudioParameters( 127 return AudioParameters(
129 AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO, 128 AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO,
130 GetNativeSampleRate(), 16, kDefaultInputBufferSize); 129 GetNativeSampleRate(), 16, kDefaultInputBufferSize);
131 } 130 }
132 131
133 AudioOutputStream* AudioManagerPulse::MakeLinearOutputStream( 132 AudioOutputStream* AudioManagerPulse::MakeLinearOutputStream(
134 const AudioParameters& params) { 133 const AudioParameters& params) {
135 DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); 134 DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format());
136 return MakeOutputStream(params, std::string()); 135 return MakeOutputStream(params);
137 } 136 }
138 137
139 AudioOutputStream* AudioManagerPulse::MakeLowLatencyOutputStream( 138 AudioOutputStream* AudioManagerPulse::MakeLowLatencyOutputStream(
140 const AudioParameters& params, 139 const AudioParameters& params,
141 const std::string& device_id, 140 const std::string& device_id) {
142 const std::string& input_device_id) {
143 DLOG_IF(ERROR, !device_id.empty()) << "Not implemented!"; 141 DLOG_IF(ERROR, !device_id.empty()) << "Not implemented!";
144 DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format()); 142 DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format());
145 return MakeOutputStream(params, input_device_id); 143 return MakeOutputStream(params);
146 } 144 }
147 145
148 AudioInputStream* AudioManagerPulse::MakeLinearInputStream( 146 AudioInputStream* AudioManagerPulse::MakeLinearInputStream(
149 const AudioParameters& params, const std::string& device_id) { 147 const AudioParameters& params, const std::string& device_id) {
150 DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); 148 DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format());
151 return MakeInputStream(params, device_id); 149 return MakeInputStream(params, device_id);
152 } 150 }
153 151
154 AudioInputStream* AudioManagerPulse::MakeLowLatencyInputStream( 152 AudioInputStream* AudioManagerPulse::MakeLowLatencyInputStream(
155 const AudioParameters& params, const std::string& device_id) { 153 const AudioParameters& params, const std::string& device_id) {
(...skipping 26 matching lines...) Expand all
182 int user_buffer_size = GetUserBufferSize(); 180 int user_buffer_size = GetUserBufferSize();
183 if (user_buffer_size) 181 if (user_buffer_size)
184 buffer_size = user_buffer_size; 182 buffer_size = user_buffer_size;
185 183
186 return AudioParameters( 184 return AudioParameters(
187 AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, input_channels, 185 AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, input_channels,
188 sample_rate, bits_per_sample, buffer_size, AudioParameters::NO_EFFECTS); 186 sample_rate, bits_per_sample, buffer_size, AudioParameters::NO_EFFECTS);
189 } 187 }
190 188
191 AudioOutputStream* AudioManagerPulse::MakeOutputStream( 189 AudioOutputStream* AudioManagerPulse::MakeOutputStream(
192 const AudioParameters& params, const std::string& input_device_id) { 190 const AudioParameters& params) {
193 if (params.input_channels()) {
194 return new PulseAudioUnifiedStream(params, input_device_id, this);
195 }
196
197 return new PulseAudioOutputStream(params, this); 191 return new PulseAudioOutputStream(params, this);
198 } 192 }
199 193
200 AudioInputStream* AudioManagerPulse::MakeInputStream( 194 AudioInputStream* AudioManagerPulse::MakeInputStream(
201 const AudioParameters& params, const std::string& device_id) { 195 const AudioParameters& params, const std::string& device_id) {
202 return new PulseAudioInputStream(this, device_id, params, 196 return new PulseAudioInputStream(this, device_id, params,
203 input_mainloop_, input_context_); 197 input_mainloop_, input_context_);
204 } 198 }
205 199
206 int AudioManagerPulse::GetNativeSampleRate() { 200 int AudioManagerPulse::GetNativeSampleRate() {
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 void AudioManagerPulse::SampleRateInfoCallback(pa_context* context, 323 void AudioManagerPulse::SampleRateInfoCallback(pa_context* context,
330 const pa_server_info* info, 324 const pa_server_info* info,
331 void* user_data) { 325 void* user_data) {
332 AudioManagerPulse* manager = reinterpret_cast<AudioManagerPulse*>(user_data); 326 AudioManagerPulse* manager = reinterpret_cast<AudioManagerPulse*>(user_data);
333 327
334 manager->native_input_sample_rate_ = info->sample_spec.rate; 328 manager->native_input_sample_rate_ = info->sample_spec.rate;
335 pa_threaded_mainloop_signal(manager->input_mainloop_, 0); 329 pa_threaded_mainloop_signal(manager->input_mainloop_, 0);
336 } 330 }
337 331
338 } // namespace media 332 } // namespace media
OLDNEW
« no previous file with comments | « media/audio/pulse/audio_manager_pulse.h ('k') | media/audio/pulse/pulse_unified.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698