| Index: webrtc/audio/utility/audio_frame_operations.h
|
| diff --git a/webrtc/audio/utility/audio_frame_operations.h b/webrtc/audio/utility/audio_frame_operations.h
|
| index d16b163e7d1139f10ba00e87e73524648e01bebd..de6fdc472d710074ed603600ce73b8a493165447 100644
|
| --- a/webrtc/audio/utility/audio_frame_operations.h
|
| +++ b/webrtc/audio/utility/audio_frame_operations.h
|
| @@ -40,6 +40,7 @@ class AudioFrameOperations {
|
| static void MonoToStereo(const int16_t* src_audio,
|
| size_t samples_per_channel,
|
| int16_t* dst_audio);
|
| +
|
| // |frame.num_channels_| will be updated. This version checks for sufficient
|
| // buffer size and that |num_channels_| is mono.
|
| static int MonoToStereo(AudioFrame* frame);
|
| @@ -50,10 +51,49 @@ class AudioFrameOperations {
|
| static void StereoToMono(const int16_t* src_audio,
|
| size_t samples_per_channel,
|
| int16_t* dst_audio);
|
| +
|
| // |frame.num_channels_| will be updated. This version checks that
|
| // |num_channels_| is stereo.
|
| static int StereoToMono(AudioFrame* frame);
|
|
|
| + // Downmixes 4 channels |src_audio| to stereo |dst_audio|. This is an in-place
|
| + // operation, meaning |src_audio| and |dst_audio| may point to the same
|
| + // buffer.
|
| + static void QuadToStereo(const int16_t* src_audio,
|
| + size_t samples_per_channel,
|
| + int16_t* dst_audio);
|
| +
|
| + // |frame.num_channels_| will be updated. This version checks that
|
| + // |num_channels_| is 4 channels.
|
| + static int QuadToStereo(AudioFrame* frame);
|
| +
|
| + // Downmixes 4 channels |src_audio| to mono |dst_audio|. This is an in-place
|
| + // operation, meaning |src_audio| and |dst_audio| may point to the same
|
| + // buffer.
|
| + static void QuadToMono(const int16_t* src_audio,
|
| + size_t samples_per_channel,
|
| + int16_t* dst_audio);
|
| +
|
| + // |frame.num_channels_| will be updated. This version checks that
|
| + // |num_channels_| is 4 channels.
|
| + static int QuadToMono(AudioFrame* frame);
|
| +
|
| + // Downmixes |src_channels| |src_audio| to |dst_channels| |dst_audio|.
|
| + // This is an in-place operation, meaning |src_audio| and |dst_audio|
|
| + // may point to the same buffer. Supported channel combinations are
|
| + // Stereo to Mono, Quad to Mono, and Quad to Stereo.
|
| + static void DownmixChannels(const int16_t* src_audio,
|
| + size_t src_channels,
|
| + size_t samples_per_channel,
|
| + size_t dst_channels,
|
| + int16_t* dst_audio);
|
| +
|
| + // |frame.num_channels_| will be updated. This version checks that
|
| + // |num_channels_| and |dst_channels| are valid and performs relevant
|
| + // downmix. Supported channel combinations are Stereo to Mono, Quad to Mono,
|
| + // and Quad to Stereo.
|
| + static int DownmixChannels(size_t dst_channels, AudioFrame* frame);
|
| +
|
| // Swap the left and right channels of |frame|. Fails silently if |frame| is
|
| // not stereo.
|
| static void SwapStereoChannels(AudioFrame* frame);
|
|
|