Transport sequence numbers always start at 1

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 <srte@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28573}
This commit is contained in:
Erik Språng 2019-07-15 19:40:13 +02:00 committed by Commit Bot
parent bd33ce2620
commit 6cdab4613e
2 changed files with 4 additions and 4 deletions

View File

@ -149,9 +149,8 @@ void PacketRouter::SendPacket(std::unique_ptr<RtpPacketToSend> 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<TransportSequenceNumber>() &&
packet->SetExtension<TransportSequenceNumber>(transport_seq_)) {
++transport_seq_;
if (packet->IsExtensionReserved<TransportSequenceNumber>()) {
packet->SetExtension<TransportSequenceNumber>(++transport_seq_);
}
auto it = rtp_module_cache_map_.find(packet->Ssrc());

View File

@ -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<RtpPacketToSend>(&extension_manager);
EXPECT_TRUE(packet->ReserveExtension<TransportSequenceNumber>());