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. |