Default-enable deferred sequence numbering for audio.
Bug: webrtc:11340
Change-Id: I5aa2a1e35b007c6d4c039f42f09c48fd7871f6ab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227775
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@{#34681}
diff --git a/audio/channel_send.cc b/audio/channel_send.cc
index 06e9238..ee6f0c5 100644
--- a/audio/channel_send.cc
+++ b/audio/channel_send.cc
@@ -502,6 +502,8 @@
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);
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc
index 536e5d4..f20fe87 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc
@@ -384,7 +384,9 @@
RTC_DCHECK(rtp_sender_);
RTC_DCHECK_RUN_ON(&pacer_thread_checker_);
if (rtp_sender_->deferred_sequencing_) {
- RTC_DCHECK(rtp_sender_->packet_generator.SendingMedia());
+ if (!rtp_sender_->packet_generator.SendingMedia()) {
+ return false;
+ }
if (packet->packet_type() == RtpPacketMediaType::kPadding &&
packet->Ssrc() == rtp_sender_->packet_generator.SSRC() &&
!rtp_sender_->sequencer_.CanSendPaddingOnMediaSsrc()) {
diff --git a/modules/rtp_rtcp/source/rtp_sender_audio.cc b/modules/rtp_rtcp/source/rtp_sender_audio.cc
index 4d72211..c23e81a 100644
--- a/modules/rtp_rtcp/source/rtp_sender_audio.cc
+++ b/modules/rtp_rtcp/source/rtp_sender_audio.cc
@@ -304,8 +304,10 @@
return false;
memcpy(payload, payload_data, payload_size);
- if (!rtp_sender_->AssignSequenceNumber(packet.get()))
+ if (!rtp_sender_->deferred_sequence_numbering() &&
+ !rtp_sender_->AssignSequenceNumber(packet.get())) {
return false;
+ }
{
MutexLock lock(&send_audio_mutex_);
@@ -374,8 +376,10 @@
packet->SetSsrc(rtp_sender_->SSRC());
packet->SetTimestamp(dtmf_timestamp);
packet->set_capture_time_ms(clock_->TimeInMilliseconds());
- if (!rtp_sender_->AssignSequenceNumber(packet.get()))
+ if (!rtp_sender_->deferred_sequence_numbering() &&
+ !rtp_sender_->AssignSequenceNumber(packet.get())) {
return false;
+ }
// Create DTMF data.
uint8_t* dtmfbuffer = packet->AllocatePayload(kDtmfSize);