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