Some API deprecation -- ExperimentalAgc and ExperimentalNs are gone. We're continuing to carry iSAC even though it's gone upstream, but maybe we'll want to drop that soon.
116 lines
3.5 KiB
Protocol Buffer
116 lines
3.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;
|
|
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 applied_input_volume = 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 [deprecated = true];
|
|
optional int32 aecm_routing_mode = 8 [deprecated = true];
|
|
// 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 PlayoutAudioDeviceInfo {
|
|
optional int32 id = 1;
|
|
optional int32 max_volume = 2;
|
|
}
|
|
|
|
message RuntimeSetting {
|
|
optional float capture_pre_gain = 1;
|
|
optional float custom_render_processing_setting = 2;
|
|
optional float capture_fixed_post_gain = 3;
|
|
optional int32 playout_volume_change = 4;
|
|
optional PlayoutAudioDeviceInfo playout_audio_device_change = 5;
|
|
optional bool capture_output_used = 6;
|
|
optional float capture_post_gain = 7;
|
|
}
|
|
|
|
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;
|
|
}
|