1syntax = "proto2";
2option optimize_for = LITE_RUNTIME;
3package webrtc.audio_network_adaptor.debug_dump;
4
5import "config.proto";
6
7message NetworkMetrics {
8  optional int32 uplink_bandwidth_bps = 1;
9  optional float uplink_packet_loss_fraction = 2;
10  optional int32 target_audio_bitrate_bps = 3;
11  optional int32 rtt_ms = 4;
12  optional int32 uplink_recoverable_packet_loss_fraction = 5;
13}
14
15message EncoderRuntimeConfig {
16  optional int32 bitrate_bps = 1;
17  optional int32 frame_length_ms = 2;
18  // Note: This is what we tell the encoder. It doesn't have to reflect
19  // the actual NetworkMetrics; it's subject to our decision.
20  optional float uplink_packet_loss_fraction = 3;
21  optional bool enable_fec = 4;
22  optional bool enable_dtx = 5;
23  // Some encoders can encode fewer channels than the actual input to make
24  // better use of the bandwidth. |num_channels| sets the number of channels
25  // to encode.
26  optional uint32 num_channels = 6;
27}
28
29message Event {
30  enum Type {
31    NETWORK_METRICS = 0;
32    ENCODER_RUNTIME_CONFIG = 1;
33    CONTROLLER_MANAGER_CONFIG = 2;
34  }
35  required Type type = 1;
36  required uint32 timestamp = 2;
37  optional NetworkMetrics network_metrics = 3;
38  optional EncoderRuntimeConfig encoder_runtime_config = 4;
39  optional webrtc.audio_network_adaptor.config.ControllerManager
40      controller_manager_config = 5;
41}
42
43