Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(152)

Side by Side Diff: media/base/audio_hardware_config.cc

Issue 12387006: Pass more detailed audio hardware configuration information to the renderer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/base/audio_hardware_config.h" 5 #include "media/base/audio_hardware_config.h"
6 6
7 using base::AutoLock;
8 using media::AudioParameters;
9
7 namespace media { 10 namespace media {
8 11
9 AudioHardwareConfig::AudioHardwareConfig( 12 AudioHardwareConfig::AudioHardwareConfig(
10 int output_buffer_size, int output_sample_rate, 13 const AudioParameters& input_params,
11 int input_sample_rate, ChannelLayout input_channel_layout) 14 const AudioParameters& output_params)
12 : output_buffer_size_(output_buffer_size), 15 : input_params_(input_params),
13 output_sample_rate_(output_sample_rate), 16 output_params_(output_params) {
14 input_sample_rate_(input_sample_rate),
15 input_channel_layout_(input_channel_layout) {
16 } 17 }
17 18
18 AudioHardwareConfig::~AudioHardwareConfig() {} 19 AudioHardwareConfig::~AudioHardwareConfig() {}
19 20
20 int AudioHardwareConfig::GetOutputBufferSize() { 21 int AudioHardwareConfig::GetOutputBufferSize() const {
21 base::AutoLock auto_lock(config_lock_); 22 AutoLock auto_lock(config_lock_);
22 return output_buffer_size_; 23 return output_params_.frames_per_buffer();
23 } 24 }
24 25
25 int AudioHardwareConfig::GetOutputSampleRate() { 26 int AudioHardwareConfig::GetOutputSampleRate() const {
26 base::AutoLock auto_lock(config_lock_); 27 AutoLock auto_lock(config_lock_);
27 return output_sample_rate_; 28 return output_params_.sample_rate();
28 } 29 }
29 30
30 int AudioHardwareConfig::GetInputSampleRate() { 31 ChannelLayout AudioHardwareConfig::GetOutputChannelLayout() const {
31 base::AutoLock auto_lock(config_lock_); 32 AutoLock auto_lock(config_lock_);
32 return input_sample_rate_; 33 return output_params_.channel_layout();
33 } 34 }
34 35
35 ChannelLayout AudioHardwareConfig::GetInputChannelLayout() { 36 int AudioHardwareConfig::GetOutputChannels() const {
36 base::AutoLock auto_lock(config_lock_); 37 AutoLock auto_lock(config_lock_);
37 return input_channel_layout_; 38 return output_params_.channels();
39 }
40
41 int AudioHardwareConfig::GetInputSampleRate() const {
42 AutoLock auto_lock(config_lock_);
43 return input_params_.sample_rate();
44 }
45
46 ChannelLayout AudioHardwareConfig::GetInputChannelLayout() const {
47 AutoLock auto_lock(config_lock_);
48 return input_params_.channel_layout();
49 }
50
51 int AudioHardwareConfig::GetInputChannels() const {
52 AutoLock auto_lock(config_lock_);
53 return input_params_.channels();
54 }
55
56 media::AudioParameters
57 AudioHardwareConfig::GetInputConfig() const {
58 AutoLock auto_lock(config_lock_);
59 return input_params_;
60 }
61
62 media::AudioParameters
63 AudioHardwareConfig::GetOutputConfig() const {
64 AutoLock auto_lock(config_lock_);
65 return output_params_;
38 } 66 }
39 67
40 void AudioHardwareConfig::UpdateInputConfig( 68 void AudioHardwareConfig::UpdateInputConfig(
41 int sample_rate, media::ChannelLayout channel_layout) { 69 const AudioParameters& input_params) {
42 base::AutoLock auto_lock(config_lock_); 70 AutoLock auto_lock(config_lock_);
43 input_sample_rate_ = sample_rate; 71 input_params_ = input_params;
44 input_channel_layout_ = channel_layout;
45 } 72 }
46 73
47 void AudioHardwareConfig::UpdateOutputConfig(int buffer_size, int sample_rate) { 74 void AudioHardwareConfig::UpdateOutputConfig(
48 base::AutoLock auto_lock(config_lock_); 75 const AudioParameters& output_params) {
49 output_buffer_size_ = buffer_size; 76 AutoLock auto_lock(config_lock_);
50 output_sample_rate_ = sample_rate; 77 output_params_ = output_params;
51 } 78 }
52 79
53 } // namespace media 80 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698