1// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "media/base/audio_hardware_config.h" 6 7using base::AutoLock; 8using media::AudioParameters; 9 10namespace media { 11 12AudioHardwareConfig::AudioHardwareConfig( 13 const AudioParameters& input_params, 14 const AudioParameters& output_params) 15 : input_params_(input_params), 16 output_params_(output_params) { 17} 18 19AudioHardwareConfig::~AudioHardwareConfig() {} 20 21int AudioHardwareConfig::GetOutputBufferSize() const { 22 AutoLock auto_lock(config_lock_); 23 return output_params_.frames_per_buffer(); 24} 25 26int AudioHardwareConfig::GetOutputSampleRate() const { 27 AutoLock auto_lock(config_lock_); 28 return output_params_.sample_rate(); 29} 30 31ChannelLayout AudioHardwareConfig::GetOutputChannelLayout() const { 32 AutoLock auto_lock(config_lock_); 33 return output_params_.channel_layout(); 34} 35 36int AudioHardwareConfig::GetOutputChannels() const { 37 AutoLock auto_lock(config_lock_); 38 return output_params_.channels(); 39} 40 41int AudioHardwareConfig::GetInputSampleRate() const { 42 AutoLock auto_lock(config_lock_); 43 return input_params_.sample_rate(); 44} 45 46ChannelLayout AudioHardwareConfig::GetInputChannelLayout() const { 47 AutoLock auto_lock(config_lock_); 48 return input_params_.channel_layout(); 49} 50 51int AudioHardwareConfig::GetInputChannels() const { 52 AutoLock auto_lock(config_lock_); 53 return input_params_.channels(); 54} 55 56media::AudioParameters 57AudioHardwareConfig::GetInputConfig() const { 58 AutoLock auto_lock(config_lock_); 59 return input_params_; 60} 61 62media::AudioParameters 63AudioHardwareConfig::GetOutputConfig() const { 64 AutoLock auto_lock(config_lock_); 65 return output_params_; 66} 67 68void AudioHardwareConfig::UpdateInputConfig( 69 const AudioParameters& input_params) { 70 AutoLock auto_lock(config_lock_); 71 input_params_ = input_params; 72} 73 74void AudioHardwareConfig::UpdateOutputConfig( 75 const AudioParameters& output_params) { 76 AutoLock auto_lock(config_lock_); 77 output_params_ = output_params; 78} 79 80} // namespace media 81