#include "modules/audio_processing/echo_control_mobile_impl.h"
#include <string.h>
#include <cstdint>
#include "api/audio/audio_processing.h"
#include "modules/audio_processing/aecm/echo_control_mobile.h"
#include "modules/audio_processing/audio_buffer.h"
#include "rtc_base/checks.h"
namespace webrtc {
namespace {
int16_t MapSetting(EchoControlMobileImpl::RoutingMode mode) { … }
AudioProcessing::Error MapError(int err) { … }
}
struct EchoControlMobileImpl::StreamProperties { … };
class EchoControlMobileImpl::Canceller { … };
EchoControlMobileImpl::EchoControlMobileImpl()
: … { … }
EchoControlMobileImpl::~EchoControlMobileImpl() { … }
void EchoControlMobileImpl::ProcessRenderAudio(
rtc::ArrayView<const int16_t> packed_render_audio) { … }
void EchoControlMobileImpl::PackRenderAudioBuffer(
const AudioBuffer* audio,
size_t num_output_channels,
size_t num_channels,
std::vector<int16_t>* packed_buffer) { … }
size_t EchoControlMobileImpl::NumCancellersRequired(
size_t num_output_channels,
size_t num_reverse_channels) { … }
int EchoControlMobileImpl::ProcessCaptureAudio(AudioBuffer* audio,
int stream_delay_ms) { … }
int EchoControlMobileImpl::set_routing_mode(RoutingMode mode) { … }
EchoControlMobileImpl::RoutingMode EchoControlMobileImpl::routing_mode() const { … }
int EchoControlMobileImpl::enable_comfort_noise(bool enable) { … }
bool EchoControlMobileImpl::is_comfort_noise_enabled() const { … }
void EchoControlMobileImpl::Initialize(int sample_rate_hz,
size_t num_reverse_channels,
size_t num_output_channels) { … }
int EchoControlMobileImpl::Configure() { … }
}