#include "modules/audio_processing/audio_buffer.h"
#include <string.h>
#include <cstdint>
#include "common_audio/channel_buffer.h"
#include "common_audio/resampler/push_sinc_resampler.h"
#include "modules/audio_processing/splitting_filter.h"
#include "rtc_base/checks.h"
namespace webrtc {
namespace {
constexpr size_t kSamplesPer32kHzChannel = …;
constexpr size_t kSamplesPer48kHzChannel = …;
size_t NumBandsFromFramesPerChannel(size_t num_frames) { … }
}
AudioBuffer::AudioBuffer(size_t input_rate,
size_t input_num_channels,
size_t buffer_rate,
size_t buffer_num_channels,
size_t output_rate,
size_t output_num_channels)
: … { … }
AudioBuffer::~AudioBuffer() { … }
void AudioBuffer::set_downmixing_to_specific_channel(size_t channel) { … }
void AudioBuffer::set_downmixing_by_averaging() { … }
void AudioBuffer::CopyFrom(const float* const* stacked_data,
const StreamConfig& stream_config) { … }
void AudioBuffer::CopyTo(const StreamConfig& stream_config,
float* const* stacked_data) { … }
void AudioBuffer::CopyTo(AudioBuffer* buffer) const { … }
void AudioBuffer::RestoreNumChannels() { … }
void AudioBuffer::set_num_channels(size_t num_channels) { … }
void AudioBuffer::CopyFrom(const int16_t* const interleaved_data,
const StreamConfig& stream_config) { … }
void AudioBuffer::CopyTo(const StreamConfig& stream_config,
int16_t* const interleaved_data) { … }
void AudioBuffer::SplitIntoFrequencyBands() { … }
void AudioBuffer::MergeFrequencyBands() { … }
void AudioBuffer::ExportSplitChannelData(
size_t channel,
int16_t* const* split_band_data) const { … }
void AudioBuffer::ImportSplitChannelData(
size_t channel,
const int16_t* const* split_band_data) { … }
}