| Index: media/base/audio_converter.cc
|
| diff --git a/media/base/audio_converter.cc b/media/base/audio_converter.cc
|
| index cdc6642b5f18f28a205f43def5321365f669b77b..81f9dc6396131ed747cfabc2f1020a5a63eda892 100644
|
| --- a/media/base/audio_converter.cc
|
| +++ b/media/base/audio_converter.cc
|
| @@ -28,7 +28,9 @@ AudioConverter::AudioConverter(const AudioParameters& input_params,
|
| : chunk_size_(output_params.frames_per_buffer()),
|
| downmix_early_(false),
|
| resampler_frame_delay_(0),
|
| - input_channel_count_(input_params.channels()) {
|
| + input_channel_count_(input_params.channels()),
|
| + io_sample_rate_ratio_(input_params.sample_rate() /
|
| + static_cast<double>(output_params.sample_rate())) {
|
| CHECK(input_params.IsValid());
|
| CHECK(output_params.IsValid());
|
|
|
| @@ -48,14 +50,12 @@ AudioConverter::AudioConverter(const AudioParameters& input_params,
|
| if (input_params.sample_rate() != output_params.sample_rate()) {
|
| DVLOG(1) << "Resampling from " << input_params.sample_rate() << " to "
|
| << output_params.sample_rate();
|
| - const double io_sample_rate_ratio = input_params.sample_rate() /
|
| - static_cast<double>(output_params.sample_rate());
|
| const int request_size = disable_fifo ? SincResampler::kDefaultRequestSize :
|
| input_params.frames_per_buffer();
|
| resampler_.reset(new MultiChannelResampler(
|
| downmix_early_ ? output_params.channels() :
|
| input_params.channels(),
|
| - io_sample_rate_ratio, request_size, base::Bind(
|
| + io_sample_rate_ratio_, request_size, base::Bind(
|
| &AudioConverter::ProvideInput, base::Unretained(this))));
|
| }
|
|
|
| @@ -115,6 +115,13 @@ int AudioConverter::ChunkSize() const {
|
| return resampler_->ChunkSize();
|
| }
|
|
|
| +int AudioConverter::RequestSize() const {
|
| + if (resampler_)
|
| + return audio_fifo_ ? chunk_size_
|
| + : SincResampler::kDefaultRequestSize;
|
| + return chunk_size_;
|
| +}
|
| +
|
| void AudioConverter::ConvertWithDelay(const base::TimeDelta& initial_delay,
|
| AudioBus* dest) {
|
| initial_delay_ = initial_delay;
|
|
|