| Index: webrtc/common_audio/include/audio_util.h | 
| diff --git a/webrtc/common_audio/include/audio_util.h b/webrtc/common_audio/include/audio_util.h | 
| index b217c683fd05815a7f10f95b000371f03e2db393..ad0692c60a8f5ee9e4dc8d44f4df4a9568329c8d 100644 | 
| --- a/webrtc/common_audio/include/audio_util.h | 
| +++ b/webrtc/common_audio/include/audio_util.h | 
| @@ -102,6 +102,22 @@ void Interleave(const T* const* deinterleaved, | 
| } | 
| } | 
|  | 
| +// Copies audio from a single channel buffer pointed to by |mono| to each | 
| +// channel of |interleaved|. There must be sufficient space allocated in | 
| +// |interleaved| (|samples_per_channel| * |num_channels|). | 
| +template <typename T> | 
| +void UpmixMonoToInterleaved(const T* mono, | 
| +                            int num_frames, | 
| +                            int num_channels, | 
| +                            T* interleaved) { | 
| +  int interleaved_idx = 0; | 
| +  for (int i = 0; i < num_frames; ++i) { | 
| +    for (int j = 0; j < num_channels; ++j) { | 
| +      interleaved[interleaved_idx++] = mono[i]; | 
| +    } | 
| +  } | 
| +} | 
| + | 
| template <typename T, typename Intermediate> | 
| void DownmixToMono(const T* const* input_channels, | 
| int num_frames, | 
|  |