| Index: media/base/audio_converter.cc
|
| diff --git a/media/base/audio_converter.cc b/media/base/audio_converter.cc
|
| index 5fda460a614843c5405740051830cc10ef6e1dfb..ec74e038a3bc7f4ded3073095fb259d451ec8237 100644
|
| --- a/media/base/audio_converter.cc
|
| +++ b/media/base/audio_converter.cc
|
| @@ -178,11 +178,18 @@ void AudioConverter::SourceCallback(int fifo_frame_delay, AudioBus* dest) {
|
| if (it == transform_inputs_.begin()) {
|
| if (volume == 1.0f) {
|
| mixer_input_audio_bus_->CopyTo(temp_dest);
|
| - continue;
|
| + } else if (volume > 0) {
|
| + for (int i = 0; i < mixer_input_audio_bus_->channels(); ++i) {
|
| + vector_math::FMUL(
|
| + mixer_input_audio_bus_->channel(i), volume,
|
| + mixer_input_audio_bus_->frames(), temp_dest->channel(i));
|
| + }
|
| + } else {
|
| + // Zero |temp_dest| otherwise, so we're mixing into a clean buffer.
|
| + temp_dest->Zero();
|
| }
|
|
|
| - // Zero |temp_dest| otherwise, so we're mixing into a clean buffer.
|
| - temp_dest->Zero();
|
| + continue;
|
| }
|
|
|
| // Volume adjust and mix each mixer input into |temp_dest| after rendering.
|
|
|