Remove last traces of deferred sequencing.

Bug: webrtc:11340
Change-Id: I761be67d42959192355f9f6f54ed1f735da1fe96
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228646
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34770}
This commit is contained in:
Erik Språng
2021-08-14 16:32:12 +02:00
committed by WebRTC LUCI CQ
parent ffce8e3ea0
commit ac09f0dc92
6 changed files with 16 additions and 27 deletions

View File

@ -502,8 +502,6 @@ ChannelSend::ChannelSend(
configuration.rtcp_packet_type_counter_observer = this;
configuration.local_media_ssrc = ssrc;
configuration.use_deferred_sequencing =
!field_trial::IsDisabled("WebRTC-Audio-DeferredSequencing");
rtp_rtcp_ = ModuleRtpRtcpImpl2::Create(configuration);
rtp_rtcp_->SetSendingMediaStatus(false);

View File

@ -231,8 +231,6 @@ std::vector<RtpStreamSender> CreateRtpStreamSenders(
crypto_options.sframe.require_frame_encryption;
configuration.extmap_allow_mixed = rtp_config.extmap_allow_mixed;
configuration.rtcp_report_interval_ms = rtcp_report_interval_ms;
configuration.use_deferred_sequencing = !absl::StartsWith(
trials.Lookup("WebRTC-Video-DeferredSequencing"), "Disabled");
configuration.field_trials = &trials;
std::vector<RtpStreamSender> rtp_streams;

View File

@ -146,10 +146,6 @@ class RtpRtcpInterface : public RtcpFeedbackSenderInterface {
// https://tools.ietf.org/html/rfc3611#section-4.4 and #section-4.5
bool non_sender_rtt_measurement = false;
// If true, sequence numbers are not assigned until after the pacer stage,
// in RtpSenderEgress.
bool use_deferred_sequencing = false;
private:
RTC_DISALLOW_COPY_AND_ASSIGN(Configuration);
};

View File

@ -86,7 +86,6 @@ RtpSenderEgress::RtpSenderEgress(const RtpRtcpInterface::Configuration& config,
!IsTrialSetTo(config.field_trials,
"WebRTC-SendSideBwe-WithOverhead",
"Disabled")),
deferred_sequencing_(config.use_deferred_sequencing),
clock_(config.clock),
packet_history_(packet_history),
transport_(config.outgoing_transport),
@ -134,23 +133,19 @@ void RtpSenderEgress::SendPacket(RtpPacketToSend* packet,
RTC_DCHECK_RUN_ON(&pacer_checker_);
RTC_DCHECK(packet);
if (deferred_sequencing_) {
// Strict increasing of sequence numbers can only be guaranteed with
// deferred sequencing due to raciness with the pacer.
if (packet->Ssrc() == ssrc_ &&
packet->packet_type() != RtpPacketMediaType::kRetransmission) {
if (last_sent_seq_.has_value()) {
RTC_DCHECK_EQ(static_cast<uint16_t>(*last_sent_seq_ + 1),
packet->SequenceNumber());
}
last_sent_seq_ = packet->SequenceNumber();
} else if (packet->Ssrc() == rtx_ssrc_) {
if (last_sent_rtx_seq_.has_value()) {
RTC_DCHECK_EQ(static_cast<uint16_t>(*last_sent_rtx_seq_ + 1),
packet->SequenceNumber());
}
last_sent_rtx_seq_ = packet->SequenceNumber();
if (packet->Ssrc() == ssrc_ &&
packet->packet_type() != RtpPacketMediaType::kRetransmission) {
if (last_sent_seq_.has_value()) {
RTC_DCHECK_EQ(static_cast<uint16_t>(*last_sent_seq_ + 1),
packet->SequenceNumber());
}
last_sent_seq_ = packet->SequenceNumber();
} else if (packet->Ssrc() == rtx_ssrc_) {
if (last_sent_rtx_seq_.has_value()) {
RTC_DCHECK_EQ(static_cast<uint16_t>(*last_sent_rtx_seq_ + 1),
packet->SequenceNumber());
}
last_sent_rtx_seq_ = packet->SequenceNumber();
}
RTC_DCHECK(packet->packet_type().has_value());

View File

@ -134,7 +134,6 @@ class RtpSenderEgress {
const absl::optional<uint32_t> flexfec_ssrc_;
const bool populate_network2_timestamp_;
const bool send_side_bwe_with_overhead_;
const bool deferred_sequencing_;
Clock* const clock_;
RtpPacketHistory* const packet_history_;
Transport* const transport_;

View File

@ -587,6 +587,7 @@ TEST_P(RtpSenderEgressTest, StreamDataCountersCallbacks) {
// Send a media packet.
std::unique_ptr<RtpPacketToSend> media_packet = BuildRtpPacket();
media_packet->SetPayloadSize(6);
media_packet->SetSequenceNumber(kStartSequenceNumber);
expected_transmitted_counter.packets += 1;
expected_transmitted_counter.payload_bytes += media_packet->payload_size();
expected_transmitted_counter.header_bytes += media_packet->headers_size();
@ -606,8 +607,9 @@ TEST_P(RtpSenderEgressTest, StreamDataCountersCallbacks) {
// and retransmitted packet statistics.
std::unique_ptr<RtpPacketToSend> retransmission_packet = BuildRtpPacket();
retransmission_packet->set_packet_type(RtpPacketMediaType::kRetransmission);
retransmission_packet->SetSequenceNumber(kStartSequenceNumber);
retransmission_packet->set_retransmitted_sequence_number(
retransmission_packet->SequenceNumber());
kStartSequenceNumber);
media_packet->SetPayloadSize(7);
expected_transmitted_counter.packets += 1;
expected_transmitted_counter.payload_bytes +=
@ -636,6 +638,7 @@ TEST_P(RtpSenderEgressTest, StreamDataCountersCallbacks) {
std::unique_ptr<RtpPacketToSend> padding_packet = BuildRtpPacket();
padding_packet->set_packet_type(RtpPacketMediaType::kPadding);
padding_packet->SetPadding(224);
padding_packet->SetSequenceNumber(kStartSequenceNumber + 1);
expected_transmitted_counter.packets += 1;
expected_transmitted_counter.padding_bytes += padding_packet->padding_size();
expected_transmitted_counter.header_bytes += padding_packet->headers_size();