| // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "media/base/audio_hardware_config.h" |
| |
| using base::AutoLock; |
| using media::AudioParameters; |
| |
| namespace media { |
| |
| AudioHardwareConfig::AudioHardwareConfig( |
| const AudioParameters& input_params, |
| const AudioParameters& output_params) |
| : input_params_(input_params), |
| output_params_(output_params) { |
| } |
| |
| AudioHardwareConfig::~AudioHardwareConfig() {} |
| |
| int AudioHardwareConfig::GetOutputBufferSize() const { |
| AutoLock auto_lock(config_lock_); |
| return output_params_.frames_per_buffer(); |
| } |
| |
| int AudioHardwareConfig::GetOutputSampleRate() const { |
| AutoLock auto_lock(config_lock_); |
| return output_params_.sample_rate(); |
| } |
| |
| ChannelLayout AudioHardwareConfig::GetOutputChannelLayout() const { |
| AutoLock auto_lock(config_lock_); |
| return output_params_.channel_layout(); |
| } |
| |
| int AudioHardwareConfig::GetOutputChannels() const { |
| AutoLock auto_lock(config_lock_); |
| return output_params_.channels(); |
| } |
| |
| int AudioHardwareConfig::GetInputSampleRate() const { |
| AutoLock auto_lock(config_lock_); |
| return input_params_.sample_rate(); |
| } |
| |
| ChannelLayout AudioHardwareConfig::GetInputChannelLayout() const { |
| AutoLock auto_lock(config_lock_); |
| return input_params_.channel_layout(); |
| } |
| |
| int AudioHardwareConfig::GetInputChannels() const { |
| AutoLock auto_lock(config_lock_); |
| return input_params_.channels(); |
| } |
| |
| media::AudioParameters |
| AudioHardwareConfig::GetInputConfig() const { |
| AutoLock auto_lock(config_lock_); |
| return input_params_; |
| } |
| |
| media::AudioParameters |
| AudioHardwareConfig::GetOutputConfig() const { |
| AutoLock auto_lock(config_lock_); |
| return output_params_; |
| } |
| |
| void AudioHardwareConfig::UpdateInputConfig( |
| const AudioParameters& input_params) { |
| AutoLock auto_lock(config_lock_); |
| input_params_ = input_params; |
| } |
| |
| void AudioHardwareConfig::UpdateOutputConfig( |
| const AudioParameters& output_params) { |
| AutoLock auto_lock(config_lock_); |
| output_params_ = output_params; |
| } |
| |
| } // namespace media |