#include "modules/audio_processing/aec_dump/aec_dump_impl.h"
#include <memory>
#include <utility>
#include "absl/base/nullability.h"
#include "absl/strings/string_view.h"
#include "api/task_queue/task_queue_base.h"
#include "modules/audio_processing/aec_dump/aec_dump_factory.h"
#include "rtc_base/checks.h"
#include "rtc_base/event.h"
namespace webrtc {
namespace {
void CopyFromConfigToEvent(const webrtc::InternalAPMConfig& config,
webrtc::audioproc::Config* pb_cfg) { … }
}
AecDumpImpl::AecDumpImpl(FileWrapper debug_file,
int64_t max_log_size_bytes,
absl::Nonnull<TaskQueueBase*> worker_queue)
: … { … }
AecDumpImpl::~AecDumpImpl() { … }
void AecDumpImpl::WriteInitMessage(const ProcessingConfig& api_format,
int64_t time_now_ms) { … }
void AecDumpImpl::AddCaptureStreamInput(
const AudioFrameView<const float>& src) { … }
void AecDumpImpl::AddCaptureStreamOutput(
const AudioFrameView<const float>& src) { … }
void AecDumpImpl::AddCaptureStreamInput(const int16_t* const data,
int num_channels,
int samples_per_channel) { … }
void AecDumpImpl::AddCaptureStreamOutput(const int16_t* const data,
int num_channels,
int samples_per_channel) { … }
void AecDumpImpl::AddAudioProcessingState(const AudioProcessingState& state) { … }
void AecDumpImpl::WriteCaptureStreamMessage() { … }
void AecDumpImpl::WriteRenderStreamMessage(const int16_t* const data,
int num_channels,
int samples_per_channel) { … }
void AecDumpImpl::WriteRenderStreamMessage(
const AudioFrameView<const float>& src) { … }
void AecDumpImpl::WriteConfig(const InternalAPMConfig& config) { … }
void AecDumpImpl::WriteRuntimeSetting(
const AudioProcessing::RuntimeSetting& runtime_setting) { … }
void AecDumpImpl::PostWriteToFileTask(std::unique_ptr<audioproc::Event> event) { … }
absl::Nullable<std::unique_ptr<AecDump>> AecDumpFactory::Create(
FileWrapper file,
int64_t max_log_size_bytes,
absl::Nonnull<TaskQueueBase*> worker_queue) { … }
absl::Nullable<std::unique_ptr<AecDump>> AecDumpFactory::Create(
absl::string_view file_name,
int64_t max_log_size_bytes,
absl::Nonnull<TaskQueueBase*> worker_queue) { … }
absl::Nullable<std::unique_ptr<AecDump>> AecDumpFactory::Create(
absl::Nonnull<FILE*> handle,
int64_t max_log_size_bytes,
absl::Nonnull<TaskQueueBase*> worker_queue) { … }
}