In QuicFramer::ProcessIetfTimestampsInAckFrame, use the first timestamp_delta as is. Split from cl/423075926. PiperOrigin-RevId: 425374776
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc index 6d2d9c7..45166ec 100644 --- a/quic/core/quic_framer.cc +++ b/quic/core/quic_framer.cc
@@ -4161,7 +4161,7 @@ // packet order. timestamp_delta = timestamp_delta << receive_timestamps_exponent_; if (i == 0 && j == 0) { - last_timestamp_ = CalculateTimestampFromWire(timestamp_delta); + last_timestamp_ = QuicTime::Delta::FromMicroseconds(timestamp_delta); } else { last_timestamp_ = last_timestamp_ - QuicTime::Delta::FromMicroseconds(timestamp_delta); @@ -4170,10 +4170,10 @@ return false; } } - visitor_->OnAckTimestamp(packet_number - j, - creation_time_ + last_timestamp_); + visitor_->OnAckTimestamp(packet_number, creation_time_ + last_timestamp_); + packet_number--; } - packet_number = packet_number - (timestamp_count - 1); + packet_number--; } return true; }
diff --git a/quic/core/quic_framer_test.cc b/quic/core/quic_framer_test.cc index 207329c..cd3a487 100644 --- a/quic/core/quic_framer_test.cc +++ b/quic/core/quic_framer_test.cc
@@ -4116,7 +4116,7 @@ // Timestamp range 2 (one packet). { "Unable to read receive timestamp gap.", - { kVarInt62OneByte + 0x07 }}, + { kVarInt62OneByte + 0x05 }}, { "Unable to read receive timestamp count.", { kVarInt62OneByte + 0x01 }}, { "Unable to read receive timestamp delta.", @@ -4124,7 +4124,7 @@ // Timestamp range 3 (two packets). { "Unable to read receive timestamp gap.", - { kVarInt62OneByte + 0x0a }}, + { kVarInt62OneByte + 0x08 }}, { "Unable to read receive timestamp count.", { kVarInt62OneByte + 0x02 }}, { "Unable to read receive timestamp delta.",