Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(277)

Side by Side Diff: webrtc/modules/audio_coding/audio_network_adaptor/config.proto

Issue 2684773002: Experiment-driven configuration of PLR/RPLR-based FecController (Closed)
Patch Set: Remove Clock from RplrBasedFecController Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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 }
OLDNEW
« no previous file with comments | « no previous file | webrtc/modules/audio_coding/audio_network_adaptor/controller_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698