Add field trial to force playout delay
This CL adds the field trial WebRTC-ForcePlayoutDelay with parameters min_ms and max_ms. If both of these values are set, the playout delay of any received packet will be overridden by the specified values. Bug: None Change-Id: I353282097e3ffa437dfc5affdfdf7780b09474e7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174180 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Johannes Kron <kron@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31149}
This commit is contained in:
committed by
Commit Bot
parent
3745d3fc93
commit
14a23a32c4
@ -237,6 +237,8 @@ RtpVideoStreamReceiver::RtpVideoStreamReceiver(
|
||||
process_thread_(process_thread),
|
||||
ntp_estimator_(clock),
|
||||
rtp_header_extensions_(config_.rtp.extensions),
|
||||
forced_playout_delay_max_ms_("max_ms", absl::nullopt),
|
||||
forced_playout_delay_min_ms_("min_ms", absl::nullopt),
|
||||
rtp_receive_statistics_(rtp_receive_statistics),
|
||||
ulpfec_receiver_(UlpfecReceiver::Create(config->rtp.remote_ssrc,
|
||||
this,
|
||||
@ -290,6 +292,10 @@ RtpVideoStreamReceiver::RtpVideoStreamReceiver(
|
||||
if (config_.rtp.rtcp_xr.receiver_reference_time_report)
|
||||
rtp_rtcp_->SetRtcpXrRrtrStatus(true);
|
||||
|
||||
ParseFieldTrial(
|
||||
{&forced_playout_delay_max_ms_, &forced_playout_delay_min_ms_},
|
||||
field_trial::FindFullName("WebRTC-ForcePlayoutDelay"));
|
||||
|
||||
process_thread_->RegisterModule(rtp_rtcp_.get(), RTC_FROM_HERE);
|
||||
|
||||
if (config_.rtp.lntf.enabled) {
|
||||
@ -513,7 +519,12 @@ void RtpVideoStreamReceiver::OnReceivedPayloadData(
|
||||
rtp_packet.GetExtension<VideoContentTypeExtension>(
|
||||
&video_header.content_type);
|
||||
rtp_packet.GetExtension<VideoTimingExtension>(&video_header.video_timing);
|
||||
rtp_packet.GetExtension<PlayoutDelayLimits>(&video_header.playout_delay);
|
||||
if (forced_playout_delay_max_ms_ && forced_playout_delay_min_ms_) {
|
||||
video_header.playout_delay.max_ms = *forced_playout_delay_max_ms_;
|
||||
video_header.playout_delay.min_ms = *forced_playout_delay_min_ms_;
|
||||
} else {
|
||||
rtp_packet.GetExtension<PlayoutDelayLimits>(&video_header.playout_delay);
|
||||
}
|
||||
rtp_packet.GetExtension<FrameMarkingExtension>(&video_header.frame_marking);
|
||||
|
||||
ParseGenericDependenciesResult generic_descriptor_state =
|
||||
|
||||
Reference in New Issue
Block a user