From 6cdab4613e165bc69e5b148f6286cf1984f7b2bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20Spr=C3=A5ng?= Date: Mon, 15 Jul 2019 19:40:13 +0200 Subject: [PATCH] Transport sequence numbers always start at 1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit New PacedSender code path should have the transport sequence numbers start at 1, just like before. At least some integration tests seem to depend on this behavior so just to make sure there aren't any parts doing the same that will break, let's keep the old behavior. Bug: webrtc:10633 Change-Id: I87290fbfd4ecb2ef04bd5e49a955d0b2cc8d59b6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145722 Reviewed-by: Sebastian Jansson Commit-Queue: Erik Språng Cr-Commit-Position: refs/heads/master@{#28573} --- modules/pacing/packet_router.cc | 5 ++--- modules/pacing/packet_router_unittest.cc | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/pacing/packet_router.cc b/modules/pacing/packet_router.cc index de2621790b..a14c65e719 100644 --- a/modules/pacing/packet_router.cc +++ b/modules/pacing/packet_router.cc @@ -149,9 +149,8 @@ void PacketRouter::SendPacket(std::unique_ptr packet, rtc::CritScope cs(&modules_crit_); // With the new pacer code path, transport sequence numbers are only set here, // on the pacer thread. Therefore we don't need atomics/synchronization. - if (packet->IsExtensionReserved() && - packet->SetExtension(transport_seq_)) { - ++transport_seq_; + if (packet->IsExtensionReserved()) { + packet->SetExtension(++transport_seq_); } auto it = rtp_module_cache_map_.find(packet->Ssrc()); diff --git a/modules/pacing/packet_router_unittest.cc b/modules/pacing/packet_router_unittest.cc index ac59a4424d..ff1c6f988a 100644 --- a/modules/pacing/packet_router_unittest.cc +++ b/modules/pacing/packet_router_unittest.cc @@ -978,7 +978,8 @@ TEST(PacketRouterTest, SendPacketAssignsTransportSequenceNumbers) { extension_manager.Register(kRtpExtensionTransportSequenceNumber, kTransportSequenceNumberExtensionId); - uint16_t transport_sequence_number = 0; + // Transport sequence numbers start at 1, for historical reasons. + uint16_t transport_sequence_number = 1; auto packet = absl::make_unique(&extension_manager); EXPECT_TRUE(packet->ReserveExtension());