@@ -36,6 +36,7 @@ static const int64_t kRetransmitWindowSizeMs = 500;
3636static const size_t kMaxOverheadBytes = 500 ;
3737
3838constexpr TimeDelta kPacerQueueUpdateInterval = TimeDelta::Millis(25 );
39+ const char kLowLatencyStreaming [] = " OWT-LowLatencyMode" ;
3940
4041TargetRateConstraints ConvertConstraints (int min_bitrate_bps,
4142 int max_bitrate_bps,
@@ -54,6 +55,11 @@ TargetRateConstraints ConvertConstraints(int min_bitrate_bps,
5455 return msg;
5556}
5657
58+ bool LowLatencyStreamingEnabled () {
59+ std::string trial = webrtc::field_trial::FindFullName (kLowLatencyStreaming );
60+ return trial.find (" Enabled" ) == 0 ;
61+ }
62+
5763TargetRateConstraints ConvertConstraints (const BitrateConstraints& contraints,
5864 Clock* clock) {
5965 return ConvertConstraints (contraints.min_bitrate_bps ,
@@ -119,10 +125,13 @@ RtpTransportControllerSend::RtpTransportControllerSend(
119125 congestion_window_size_(DataSize::PlusInfinity()),
120126 is_congested_(false ),
121127 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)),
126135 field_trials_(trials) {
127136 ParseFieldTrial ({&relay_bandwidth_cap_},
128137 trials.Lookup (" WebRTC-Bwe-NetworkRouteConstraints" ));
0 commit comments