blob: 3aa6a504f38311cfafcd883426d1e4a950d5a161 [file] [log] [blame]
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package webrtc.audio_network_adaptor.debug_dump;
import "config.proto";
message NetworkMetrics {
optional int32 uplink_bandwidth_bps = 1;
optional float uplink_packet_loss_fraction = 2;
optional int32 target_audio_bitrate_bps = 3;
optional int32 rtt_ms = 4;
optional int32 uplink_recoverable_packet_loss_fraction = 5;
}
message EncoderRuntimeConfig {
optional int32 bitrate_bps = 1;
optional int32 frame_length_ms = 2;
// Note: This is what we tell the encoder. It doesn't have to reflect
// the actual NetworkMetrics; it's subject to our decision.
optional float uplink_packet_loss_fraction = 3;
optional bool enable_fec = 4;
optional bool enable_dtx = 5;
// Some encoders can encode fewer channels than the actual input to make
// better use of the bandwidth. `num_channels` sets the number of channels
// to encode.
optional uint32 num_channels = 6;
}
message Event {
enum Type {
NETWORK_METRICS = 0;
ENCODER_RUNTIME_CONFIG = 1;
CONTROLLER_MANAGER_CONFIG = 2;
}
required Type type = 1;
required uint32 timestamp = 2;
optional NetworkMetrics network_metrics = 3;
optional EncoderRuntimeConfig encoder_runtime_config = 4;
optional webrtc.audio_network_adaptor.config.ControllerManager
controller_manager_config = 5;
}