mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-15 06:40:43 +01:00

Also read and apply settings when parsing and replaying dumps. The implementation contains * an extra field in debug.proto for the runtime settings * code in AudioProcessingImpl to initiate the logging of the RS to the AecDump * code in aec_dump/ to log the RS in the AecDump * code in test/ for re-playing the RS. E.g. for APM simulation with audioproc_f. Bug: webrtc:9138 Change-Id: Ia2a00537c2eb19484ff442fbffd0b95f8495516f Reviewed-on: https://webrtc-review.googlesource.com/70502 Commit-Queue: Alex Loiko <aleloi@webrtc.org> Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24647}
105 lines
3.1 KiB
Protocol Buffer
105 lines
3.1 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;
|
|
optional int32 reverse_output_sample_rate = 8;
|
|
optional int32 num_reverse_output_channels = 9;
|
|
optional int64 timestamp_ms = 10;
|
|
}
|
|
|
|
// 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 {
|
|
// 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;
|
|
// Semicolon-separated string containing experimental feature
|
|
// descriptions.
|
|
optional string experiments_description = 17;
|
|
reserved 18; // Intelligibility enhancer enabled (deprecated).
|
|
// Pre amplifier.
|
|
optional bool pre_amplifier_enabled = 19;
|
|
optional float pre_amplifier_fixed_gain_factor = 20;
|
|
|
|
// Next field number 21.
|
|
}
|
|
|
|
message RuntimeSetting {
|
|
optional float capture_pre_gain = 1;
|
|
optional float custom_render_processing_setting = 2;
|
|
}
|
|
|
|
message Event {
|
|
enum Type {
|
|
INIT = 0;
|
|
REVERSE_STREAM = 1;
|
|
STREAM = 2;
|
|
CONFIG = 3;
|
|
UNKNOWN_EVENT = 4;
|
|
RUNTIME_SETTING = 5;
|
|
}
|
|
|
|
required Type type = 1;
|
|
|
|
optional Init init = 2;
|
|
optional ReverseStream reverse_stream = 3;
|
|
optional Stream stream = 4;
|
|
optional Config config = 5;
|
|
optional RuntimeSetting runtime_setting = 6;
|
|
}
|