| Index: media/audio/pulse/audio_manager_pulse.cc
|
| diff --git a/media/audio/pulse/audio_manager_pulse.cc b/media/audio/pulse/audio_manager_pulse.cc
|
| index f448fcea59d22d041f75af5d87d56d4a9598cb37..6fe1914376d6b5ad52cef2b14fe4f99f0a441b08 100644
|
| --- a/media/audio/pulse/audio_manager_pulse.cc
|
| +++ b/media/audio/pulse/audio_manager_pulse.cc
|
| @@ -11,12 +11,13 @@
|
| #include "base/nix/xdg_util.h"
|
| #include "base/process_util.h"
|
| #include "base/stl_util.h"
|
| -#include "media/audio/audio_util.h"
|
| +#include "media/audio/audio_parameters.h"
|
| #include "media/audio/linux/audio_manager_linux.h"
|
| #include "media/audio/pulse/pulse_input.h"
|
| #include "media/audio/pulse/pulse_output.h"
|
| #include "media/audio/pulse/pulse_stubs.h"
|
| #include "media/audio/pulse/pulse_util.h"
|
| +#include "media/base/channel_layout.h"
|
|
|
| using media_audio_pulse::kModulePulse;
|
| using media_audio_pulse::InitializeStubs;
|
| @@ -90,6 +91,24 @@ void AudioManagerPulse::GetAudioInputDeviceNames(
|
| }
|
| }
|
|
|
| +AudioParameters AudioManagerPulse::GetDefaultOutputStreamParameters() {
|
| + static const int kDefaultOutputBufferSize = 512;
|
| +
|
| + return AudioParameters(
|
| + AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO,
|
| + GetNativeSampleRate(), kDefaultBitsPerSample, kDefaultOutputBufferSize);
|
| +}
|
| +
|
| +AudioParameters AudioManagerPulse::GetDefaultInputStreamParameters(
|
| + const std::string& device_id) {
|
| + static const int kDefaultInputBufferSize = 1024;
|
| +
|
| + // TODO(xians): add support for querying native channel layout for pulse.
|
| + return AudioParameters(
|
| + AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO,
|
| + GetNativeSampleRate(), kDefaultBitsPerSample, kDefaultInputBufferSize);
|
| +}
|
| +
|
| AudioOutputStream* AudioManagerPulse::MakeLinearOutputStream(
|
| const AudioParameters& params) {
|
| DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format());
|
| @@ -128,9 +147,9 @@ AudioInputStream* AudioManagerPulse::MakeInputStream(
|
| AudioParameters AudioManagerPulse::GetPreferredLowLatencyOutputStreamParameters(
|
| const AudioParameters& input_params) {
|
| // TODO(xians): figure out the optimized buffer size for the Pulse IO.
|
| - int buffer_size = GetAudioHardwareBufferSize();
|
| - if (input_params.frames_per_buffer() < buffer_size)
|
| - buffer_size = input_params.frames_per_buffer();
|
| + AudioParameters default_params = GetDefaultOutputStreamParameters();
|
| + int buffer_size = std::min(input_params.frames_per_buffer(),
|
| + default_params.frames_per_buffer());
|
|
|
| // TODO(dalecurtis): This should include bits per channel and channel layout
|
| // eventually.
|
|
|