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());