
The AEC dump was not self-contented enough in the sense that APM configuration is missing, and therefore, given an AEC dump, it is sometimes not clear how to reproduce problems. This CL tries to address the problem. Note that this cannot guarantee a perfect reproduction in all cases. Dumping from the middle of a call makes the initial states unknown and thus may make the result non-reproducible. BUG= TEST= 1. new dump in Chromium and unpack 2. unpack old dump R=andrew@webrtc.org, peah@webrtc.org Review URL: https://codereview.webrtc.org/1348903004 . Cr-Commit-Position: refs/heads/master@{#10155}
88 lines
2.5 KiB
Protocol Buffer
88 lines
2.5 KiB
Protocol Buffer
syntax = "proto2";
|
|
option optimize_for = LITE_RUNTIME;
|
|
package webrtc.audioproc;
|
|
|
|
// Contains the format of input/output/reverse audio. An Init message is added
|
|
// when any of the fields are changed.
|
|
message Init {
|
|
optional int32 sample_rate = 1;
|
|
optional int32 device_sample_rate = 2 [deprecated=true];
|
|
optional int32 num_input_channels = 3;
|
|
optional int32 num_output_channels = 4;
|
|
optional int32 num_reverse_channels = 5;
|
|
optional int32 reverse_sample_rate = 6;
|
|
optional int32 output_sample_rate = 7;
|
|
}
|
|
|
|
// May contain interleaved or deinterleaved data, but don't store both formats.
|
|
message ReverseStream {
|
|
// int16 interleaved data.
|
|
optional bytes data = 1;
|
|
|
|
// float deinterleaved data, where each repeated element points to a single
|
|
// channel buffer of data.
|
|
repeated bytes channel = 2;
|
|
}
|
|
|
|
// May contain interleaved or deinterleaved data, but don't store both formats.
|
|
message Stream {
|
|
// int16 interleaved data.
|
|
optional bytes input_data = 1;
|
|
optional bytes output_data = 2;
|
|
|
|
optional int32 delay = 3;
|
|
optional sint32 drift = 4;
|
|
optional int32 level = 5;
|
|
optional bool keypress = 6;
|
|
|
|
// float deinterleaved data, where each repeated element points to a single
|
|
// channel buffer of data.
|
|
repeated bytes input_channel = 7;
|
|
repeated bytes output_channel = 8;
|
|
}
|
|
|
|
// Contains the configurations of various APM component. A Config message is
|
|
// added when any of the fields are changed.
|
|
message Config {
|
|
// Next field number 17.
|
|
// Acoustic echo canceler.
|
|
optional bool aec_enabled = 1;
|
|
optional bool aec_delay_agnostic_enabled = 2;
|
|
optional bool aec_drift_compensation_enabled = 3;
|
|
optional bool aec_extended_filter_enabled = 4;
|
|
optional int32 aec_suppression_level = 5;
|
|
// Mobile AEC.
|
|
optional bool aecm_enabled = 6;
|
|
optional bool aecm_comfort_noise_enabled = 7;
|
|
optional int32 aecm_routing_mode = 8;
|
|
// Automatic gain controller.
|
|
optional bool agc_enabled = 9;
|
|
optional int32 agc_mode = 10;
|
|
optional bool agc_limiter_enabled = 11;
|
|
optional bool noise_robust_agc_enabled = 12;
|
|
// High pass filter.
|
|
optional bool hpf_enabled = 13;
|
|
// Noise suppression.
|
|
optional bool ns_enabled = 14;
|
|
optional int32 ns_level = 15;
|
|
// Transient suppression.
|
|
optional bool transient_suppression_enabled = 16;
|
|
}
|
|
|
|
message Event {
|
|
enum Type {
|
|
INIT = 0;
|
|
REVERSE_STREAM = 1;
|
|
STREAM = 2;
|
|
CONFIG = 3;
|
|
UNKNOWN_EVENT = 4;
|
|
}
|
|
|
|
required Type type = 1;
|
|
|
|
optional Init init = 2;
|
|
optional ReverseStream reverse_stream = 3;
|
|
optional Stream stream = 4;
|
|
optional Config config = 5;
|
|
}
|