| 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; |
| } |
| |