OLD | NEW |
1 syntax = "proto2"; | 1 syntax = "proto2"; |
2 option optimize_for = LITE_RUNTIME; | 2 option optimize_for = LITE_RUNTIME; |
3 option java_package = "org.webrtc.AudioNetworkAdaptor"; | 3 option java_package = "org.webrtc.AudioNetworkAdaptor"; |
4 option java_outer_classname = "Config"; | 4 option java_outer_classname = "Config"; |
5 package webrtc.audio_network_adaptor.config; | 5 package webrtc.audio_network_adaptor.config; |
6 | 6 |
7 message FecController { | 7 message FecController { |
8 message Threshold { | 8 message Threshold { |
9 // Threshold defines a curve in the bandwidth/packet-loss domain. The | 9 // Threshold defines a curve in the bandwidth/packet-loss domain. The |
10 // curve is characterized by the two conjunction points: A and B. | 10 // curve is characterized by the two conjunction points: A and B. |
(...skipping 21 matching lines...) Expand all Loading... |
32 // | OFF \_________ fec_disabling_threshold | 32 // | OFF \_________ fec_disabling_threshold |
33 // |-----------------> bandwidth | 33 // |-----------------> bandwidth |
34 optional Threshold fec_enabling_threshold = 1; | 34 optional Threshold fec_enabling_threshold = 1; |
35 optional Threshold fec_disabling_threshold = 2; | 35 optional Threshold fec_disabling_threshold = 2; |
36 | 36 |
37 // |time_constant_ms| is the time constant for an exponential filter, which | 37 // |time_constant_ms| is the time constant for an exponential filter, which |
38 // is used for smoothing the packet loss fraction. | 38 // is used for smoothing the packet loss fraction. |
39 optional int32 time_constant_ms = 3; | 39 optional int32 time_constant_ms = 3; |
40 } | 40 } |
41 | 41 |
| 42 message FecControllerRplrBased { |
| 43 message Threshold { |
| 44 // Threshold defines a curve in the bandwidth/recoverable-packet-loss |
| 45 // domain. |
| 46 // The curve is characterized by the two conjunction points: A and B. |
| 47 // |
| 48 // recoverable ^ |
| 49 // packet | | |
| 50 // loss | A| |
| 51 // | \ A: (low_bandwidth_bps, |
| 52 // | \ low_bandwidth_recoverable_packet_loss) |
| 53 // | \ B: (high_bandwidth_bps, |
| 54 // | \ high_bandwidth_recoverable_packet_loss) |
| 55 // | B\________ |
| 56 // |---------------> bandwidth |
| 57 optional int32 low_bandwidth_bps = 1; |
| 58 optional float low_bandwidth_recoverable_packet_loss = 2; |
| 59 optional int32 high_bandwidth_bps = 3; |
| 60 optional float high_bandwidth_recoverable_packet_loss = 4; |
| 61 } |
| 62 |
| 63 // |fec_enabling_threshold| defines a curve, above which FEC should be |
| 64 // enabled. |fec_disabling_threshold| defines a curve, under which FEC |
| 65 // should be disabled. See below |
| 66 // |
| 67 // packet-loss ^ | | |
| 68 // | | | FEC |
| 69 // | \ \ ON |
| 70 // | FEC \ \_______ fec_enabling_threshold |
| 71 // | OFF \_________ fec_disabling_threshold |
| 72 // |-----------------> bandwidth |
| 73 optional Threshold fec_enabling_threshold = 1; |
| 74 optional Threshold fec_disabling_threshold = 2; |
| 75 } |
| 76 |
42 message FrameLengthController { | 77 message FrameLengthController { |
43 // Uplink packet loss fraction below which frame length can increase. | 78 // Uplink packet loss fraction below which frame length can increase. |
44 optional float fl_increasing_packet_loss_fraction = 1; | 79 optional float fl_increasing_packet_loss_fraction = 1; |
45 | 80 |
46 // Uplink packet loss fraction above which frame length should decrease. | 81 // Uplink packet loss fraction above which frame length should decrease. |
47 optional float fl_decreasing_packet_loss_fraction = 2; | 82 optional float fl_decreasing_packet_loss_fraction = 2; |
48 | 83 |
49 // Uplink bandwidth below which frame length can switch from 20ms to 60ms. | 84 // Uplink bandwidth below which frame length can switch from 20ms to 60ms. |
50 optional int32 fl_20ms_to_60ms_bandwidth_bps = 3; | 85 optional int32 fl_20ms_to_60ms_bandwidth_bps = 3; |
51 | 86 |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 // without |scoring_point| follow their default order in | 129 // without |scoring_point| follow their default order in |
95 // |ControllerManager::controllers|. | 130 // |ControllerManager::controllers|. |
96 optional ScoringPoint scoring_point = 1; | 131 optional ScoringPoint scoring_point = 1; |
97 | 132 |
98 oneof controller { | 133 oneof controller { |
99 FecController fec_controller = 21; | 134 FecController fec_controller = 21; |
100 FrameLengthController frame_length_controller = 22; | 135 FrameLengthController frame_length_controller = 22; |
101 ChannelController channel_controller = 23; | 136 ChannelController channel_controller = 23; |
102 DtxController dtx_controller = 24; | 137 DtxController dtx_controller = 24; |
103 BitrateController bitrate_controller = 25; | 138 BitrateController bitrate_controller = 25; |
| 139 FecControllerRplrBased fec_controller_rplr_based = 26; |
104 } | 140 } |
105 } | 141 } |
106 | 142 |
107 message ControllerManager { | 143 message ControllerManager { |
108 repeated Controller controllers = 1; | 144 repeated Controller controllers = 1; |
109 | 145 |
110 // Least time since last reordering for a new reordering to be made. | 146 // Least time since last reordering for a new reordering to be made. |
111 optional int32 min_reordering_time_ms = 2; | 147 optional int32 min_reordering_time_ms = 2; |
112 | 148 |
113 // Least squared distance from last scoring point for a new reordering to be | 149 // Least squared distance from last scoring point for a new reordering to be |
114 // made. | 150 // made. |
115 optional float min_reordering_squared_distance = 3; | 151 optional float min_reordering_squared_distance = 3; |
116 } | 152 } |
OLD | NEW |