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 // |time_constant_ms| is the time constant for an exponential filter, which | |
77 // is used for smoothing the packet loss fraction. | |
78 optional int32 time_constant_ms = 3; | |
michaelt
2017/03/27 13:52:31
Isn't FecControllerRplrBased without PL smoothing
elad.alon_webrtc.org
2017/03/27 14:27:24
Right you are. Thanks for catching.
| |
79 } | |
80 | |
42 message FrameLengthController { | 81 message FrameLengthController { |
43 // Uplink packet loss fraction below which frame length can increase. | 82 // Uplink packet loss fraction below which frame length can increase. |
44 optional float fl_increasing_packet_loss_fraction = 1; | 83 optional float fl_increasing_packet_loss_fraction = 1; |
45 | 84 |
46 // Uplink packet loss fraction above which frame length should decrease. | 85 // Uplink packet loss fraction above which frame length should decrease. |
47 optional float fl_decreasing_packet_loss_fraction = 2; | 86 optional float fl_decreasing_packet_loss_fraction = 2; |
48 | 87 |
49 // Uplink bandwidth below which frame length can switch from 20ms to 60ms. | 88 // Uplink bandwidth below which frame length can switch from 20ms to 60ms. |
50 optional int32 fl_20ms_to_60ms_bandwidth_bps = 3; | 89 optional int32 fl_20ms_to_60ms_bandwidth_bps = 3; |
51 | 90 |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
94 // without |scoring_point| follow their default order in | 133 // without |scoring_point| follow their default order in |
95 // |ControllerManager::controllers|. | 134 // |ControllerManager::controllers|. |
96 optional ScoringPoint scoring_point = 1; | 135 optional ScoringPoint scoring_point = 1; |
97 | 136 |
98 oneof controller { | 137 oneof controller { |
99 FecController fec_controller = 21; | 138 FecController fec_controller = 21; |
100 FrameLengthController frame_length_controller = 22; | 139 FrameLengthController frame_length_controller = 22; |
101 ChannelController channel_controller = 23; | 140 ChannelController channel_controller = 23; |
102 DtxController dtx_controller = 24; | 141 DtxController dtx_controller = 24; |
103 BitrateController bitrate_controller = 25; | 142 BitrateController bitrate_controller = 25; |
143 FecControllerRplrBased fec_controller_rplr_based = 26; | |
104 } | 144 } |
105 } | 145 } |
106 | 146 |
107 message ControllerManager { | 147 message ControllerManager { |
108 repeated Controller controllers = 1; | 148 repeated Controller controllers = 1; |
109 | 149 |
110 // Least time since last reordering for a new reordering to be made. | 150 // Least time since last reordering for a new reordering to be made. |
111 optional int32 min_reordering_time_ms = 2; | 151 optional int32 min_reordering_time_ms = 2; |
112 | 152 |
113 // Least squared distance from last scoring point for a new reordering to be | 153 // Least squared distance from last scoring point for a new reordering to be |
114 // made. | 154 // made. |
115 optional float min_reordering_squared_distance = 3; | 155 optional float min_reordering_squared_distance = 3; |
116 } | 156 } |
OLD | NEW |