@@ -36,6 +36,7 @@ static const int64_t kRetransmitWindowSizeMs = 500;
36
36
static const size_t kMaxOverheadBytes = 500 ;
37
37
38
38
constexpr TimeDelta kPacerQueueUpdateInterval = TimeDelta::Millis(25 );
39
+ const char kLowLatencyStreaming [] = " OWT-LowLatencyMode" ;
39
40
40
41
TargetRateConstraints ConvertConstraints (int min_bitrate_bps,
41
42
int max_bitrate_bps,
@@ -54,6 +55,11 @@ TargetRateConstraints ConvertConstraints(int min_bitrate_bps,
54
55
return msg;
55
56
}
56
57
58
+ bool LowLatencyStreamingEnabled () {
59
+ std::string trial = webrtc::field_trial::FindFullName (kLowLatencyStreaming );
60
+ return trial.find (" Enabled" ) == 0 ;
61
+ }
62
+
57
63
TargetRateConstraints ConvertConstraints (const BitrateConstraints& contraints,
58
64
Clock* clock) {
59
65
return ConvertConstraints (contraints.min_bitrate_bps ,
@@ -119,10 +125,13 @@ RtpTransportControllerSend::RtpTransportControllerSend(
119
125
congestion_window_size_(DataSize::PlusInfinity()),
120
126
is_congested_(false ),
121
127
retransmission_rate_limiter_(clock, kRetransmitWindowSizeMs ),
122
- // TODO: Potentially change priority when low latency mode is enabled.
123
- task_queue_(task_queue_factory->CreateTaskQueue (
124
- " rtp_send_controller" ,
125
- TaskQueueFactory::Priority::NORMAL)),
128
+ task_queue_(LowLatencyStreamingEnabled()
129
+ ? task_queue_factory->CreateTaskQueue(
130
+ " rtp_send_controller" ,
131
+ TaskQueueFactory::Priority::HIGH)
132
+ : task_queue_factory->CreateTaskQueue(
133
+ " rtp_send_controller" ,
134
+ TaskQueueFactory::Priority::NORMAL)),
126
135
field_trials_(trials) {
127
136
ParseFieldTrial ({&relay_bandwidth_cap_},
128
137
trials.Lookup (" WebRTC-Bwe-NetworkRouteConstraints" ));
0 commit comments