Chromium Code Reviews| Index: media/audio/audio_output_resampler.cc |
| diff --git a/media/audio/audio_output_resampler.cc b/media/audio/audio_output_resampler.cc |
| index 73765cdf6ec821bb5ffc79a0b8fe33777d056485..496fe4f4d17c28f8233dcd1eac7142f9bf2b9831 100644 |
| --- a/media/audio/audio_output_resampler.cc |
| +++ b/media/audio/audio_output_resampler.cc |
| @@ -199,6 +199,20 @@ AudioOutputResampler::~AudioOutputResampler() {} |
| void AudioOutputResampler::Initialize() { |
| io_ratio_ = 1; |
| + double in_buffer_s = static_cast<double>(params_.frames_per_buffer()) / |
| + static_cast<double>(params_.sample_rate()); |
| + double out_buffer_s = |
| + static_cast<double>(output_params_.frames_per_buffer()) / |
| + static_cast<double>(output_params_.sample_rate()); |
| + if (in_buffer_s != out_buffer_s) { |
| + int out_buffer_size = static_cast<int>( |
| + in_buffer_s * output_params_.sample_rate() + 0.5); |
| + output_params_.Reset(output_params_.format(), |
| + output_params_.channel_layout(), |
| + output_params_.sample_rate(), |
| + output_params_.bits_per_sample(), |
| + out_buffer_size); |
| + } |
|
Chris Rogers
2012/09/18 17:36:29
Why do we need special logic here when we have Aud
|
| // TODO(dalecurtis): Add channel remixing. http://crbug.com/138762 |
| DCHECK_EQ(params_.channels(), output_params_.channels()); |
| // Only resample or rebuffer if the input parameters don't match the output |