| Index: media/audio/openbsd/audio_manager_openbsd.cc
|
| diff --git a/media/audio/openbsd/audio_manager_openbsd.cc b/media/audio/openbsd/audio_manager_openbsd.cc
|
| index ec482d8b7cd771730469fa7b8d9731de061046b9..9b9f2edbaac47ffbd8b91803ca45f6bc57b2dd9e 100644
|
| --- a/media/audio/openbsd/audio_manager_openbsd.cc
|
| +++ b/media/audio/openbsd/audio_manager_openbsd.cc
|
| @@ -55,17 +55,29 @@ bool AudioManagerOpenBSD::HasAudioInputDevices() {
|
| return HasAudioHardware();
|
| }
|
|
|
| -AudioParameters AudioManagerOpenBSD::GetInputStreamParameters(
|
| - const std::string& device_id) {
|
| +AudioParameters AudioManagerOpenBSD::GetPreferredInputStreamParameters(
|
| + const std::string& input_device_id,
|
| + const AudioParameters& input_params) {
|
| static const int kDefaultInputBufferSize = 1024;
|
|
|
| + ChannelLayout channel_layout = CHANNEL_LAYOUT_STEREO;
|
| + int sample_rate = kDefaultSampleRate;
|
| + int buffer_size = kDefaultInputBufferSize;
|
| + int bits_per_sample = 16;
|
| + if (input_params.IsValid()) {
|
| + sample_rate = input_params.sample_rate();
|
| + bits_per_sample = input_params.bits_per_sample();
|
| + channel_layout = input_params.channel_layout();
|
| + buffer_size = std::min(buffer_size, input_params.frames_per_buffer());
|
| + }
|
| +
|
| int user_buffer_size = GetUserBufferSize();
|
| - int buffer_size = user_buffer_size ?
|
| - user_buffer_size : kDefaultInputBufferSize;
|
| + if (user_buffer_size)
|
| + buffer_size = user_buffer_size;
|
|
|
| return AudioParameters(
|
| - AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO,
|
| - kDefaultSampleRate, 16, buffer_size);
|
| + AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout,
|
| + sample_rate, bits_per_sample, buffer_size);
|
| }
|
|
|
| AudioManagerOpenBSD::AudioManagerOpenBSD(AudioLogFactory* audio_log_factory)
|
|
|