| Index: webrtc/modules/audio_processing/audio_buffer.cc
|
| diff --git a/webrtc/modules/audio_processing/audio_buffer.cc b/webrtc/modules/audio_processing/audio_buffer.cc
|
| index c1c4061f4884c727866fd185ec394974a4ed7bb8..77bda79a0c49411b43f3151b78addd48b92f8eaf 100644
|
| --- a/webrtc/modules/audio_processing/audio_buffer.cc
|
| +++ b/webrtc/modules/audio_processing/audio_buffer.cc
|
| @@ -150,7 +150,7 @@ void AudioBuffer::CopyFrom(const float* const* data,
|
| void AudioBuffer::CopyTo(const StreamConfig& stream_config,
|
| float* const* data) {
|
| assert(stream_config.num_frames() == output_num_frames_);
|
| - assert(stream_config.num_channels() == num_channels_);
|
| + assert(stream_config.num_channels() == num_channels_ || num_channels_ == 1);
|
|
|
| // Convert to the float range.
|
| float* const* data_ptr = data;
|
| @@ -173,6 +173,11 @@ void AudioBuffer::CopyTo(const StreamConfig& stream_config,
|
| output_num_frames_);
|
| }
|
| }
|
| +
|
| + // Upmix.
|
| + for (int i = num_channels_; i < stream_config.num_channels(); ++i) {
|
| + memcpy(data[i], data[0], output_num_frames_ * sizeof(**data));
|
| + }
|
| }
|
|
|
| void AudioBuffer::InitForNewData() {
|
|
|