| Index: webrtc/modules/congestion_controller/transport_feedback_adapter_unittest.cc
|
| diff --git a/webrtc/modules/congestion_controller/transport_feedback_adapter_unittest.cc b/webrtc/modules/congestion_controller/transport_feedback_adapter_unittest.cc
|
| index 97b7f5f2a515ec6de4b4d3710a66226583107fa0..47a2820cc4c372194aa34371eed8486dc2770cc6 100644
|
| --- a/webrtc/modules/congestion_controller/transport_feedback_adapter_unittest.cc
|
| +++ b/webrtc/modules/congestion_controller/transport_feedback_adapter_unittest.cc
|
| @@ -29,12 +29,16 @@ using ::testing::Invoke;
|
| namespace webrtc {
|
|
|
| namespace {
|
| +
|
| const PacedPacketInfo kPacingInfo0(0, 5, 2000);
|
| const PacedPacketInfo kPacingInfo1(1, 8, 4000);
|
| const PacedPacketInfo kPacingInfo2(2, 14, 7000);
|
| const PacedPacketInfo kPacingInfo3(3, 20, 10000);
|
| const PacedPacketInfo kPacingInfo4(4, 22, 10000);
|
| -}
|
| +constexpr size_t kRtpHeadersSize = 12;
|
| +constexpr size_t kTransportHeadersSize = 20;
|
| +
|
| +} // namespace
|
|
|
| namespace test {
|
|
|
| @@ -65,9 +69,9 @@ class TransportFeedbackAdapterTest : public ::testing::Test {
|
| int64_t now_ms) {}
|
|
|
| void OnSentPacket(const PacketFeedback& packet_feedback) {
|
| - adapter_->AddPacket(kSsrc, packet_feedback.sequence_number,
|
| - packet_feedback.payload_size,
|
| - packet_feedback.pacing_info);
|
| + adapter_->AddPacket(
|
| + kSsrc, packet_feedback.sequence_number, packet_feedback.payload_size,
|
| + packet_feedback.rtp_headers_size, packet_feedback.pacing_info);
|
| adapter_->OnSentPacket(packet_feedback.sequence_number,
|
| packet_feedback.send_time_ms);
|
| }
|
| @@ -83,10 +87,12 @@ TEST_F(TransportFeedbackAdapterTest, ObserverSanity) {
|
| adapter_->RegisterPacketFeedbackObserver(&mock);
|
|
|
| const std::vector<PacketFeedback> packets = {
|
| - PacketFeedback(100, 200, 0, 1000, kPacingInfo0),
|
| - PacketFeedback(110, 210, 1, 2000, kPacingInfo0),
|
| - PacketFeedback(120, 220, 2, 3000, kPacingInfo0)
|
| - };
|
| + PacketFeedback(100, 200, 0, 1000, kRtpHeadersSize, kTransportHeadersSize,
|
| + kPacingInfo0),
|
| + PacketFeedback(110, 210, 1, 2000, kRtpHeadersSize, kTransportHeadersSize,
|
| + kPacingInfo0),
|
| + PacketFeedback(120, 220, 2, 3000, kRtpHeadersSize, kTransportHeadersSize,
|
| + kPacingInfo0)};
|
|
|
| rtcp::TransportFeedback feedback;
|
| feedback.SetBase(packets[0].sequence_number,
|
| @@ -106,7 +112,8 @@ TEST_F(TransportFeedbackAdapterTest, ObserverSanity) {
|
|
|
| // After deregistration, the observer no longers gets indications.
|
| EXPECT_CALL(mock, OnPacketAdded(_, _)).Times(0);
|
| - const PacketFeedback new_packet(130, 230, 3, 4000, kPacingInfo0);
|
| + const PacketFeedback new_packet(130, 230, 3, 4000, kRtpHeadersSize,
|
| + kTransportHeadersSize, kPacingInfo0);
|
| OnSentPacket(new_packet);
|
|
|
| rtcp::TransportFeedback second_feedback;
|
| @@ -136,11 +143,16 @@ TEST_F(TransportFeedbackAdapterTest, ObserverMissingDeRegistrationDeathTest) {
|
|
|
| TEST_F(TransportFeedbackAdapterTest, AdaptsFeedbackAndPopulatesSendTimes) {
|
| std::vector<PacketFeedback> packets;
|
| - packets.push_back(PacketFeedback(100, 200, 0, 1500, kPacingInfo0));
|
| - packets.push_back(PacketFeedback(110, 210, 1, 1500, kPacingInfo0));
|
| - packets.push_back(PacketFeedback(120, 220, 2, 1500, kPacingInfo0));
|
| - packets.push_back(PacketFeedback(130, 230, 3, 1500, kPacingInfo1));
|
| - packets.push_back(PacketFeedback(140, 240, 4, 1500, kPacingInfo1));
|
| + packets.push_back(PacketFeedback(100, 200, 0, 1500, kRtpHeadersSize,
|
| + kTransportHeadersSize, kPacingInfo0));
|
| + packets.push_back(PacketFeedback(110, 210, 1, 1500, kRtpHeadersSize,
|
| + kTransportHeadersSize, kPacingInfo0));
|
| + packets.push_back(PacketFeedback(120, 220, 2, 1500, kRtpHeadersSize,
|
| + kTransportHeadersSize, kPacingInfo0));
|
| + packets.push_back(PacketFeedback(130, 230, 3, 1500, kRtpHeadersSize,
|
| + kTransportHeadersSize, kPacingInfo1));
|
| + packets.push_back(PacketFeedback(140, 240, 4, 1500, kRtpHeadersSize,
|
| + kTransportHeadersSize, kPacingInfo1));
|
|
|
| for (const PacketFeedback& packet : packets)
|
| OnSentPacket(packet);
|
| @@ -162,14 +174,20 @@ TEST_F(TransportFeedbackAdapterTest, AdaptsFeedbackAndPopulatesSendTimes) {
|
|
|
| TEST_F(TransportFeedbackAdapterTest, FeedbackVectorReportsUnreceived) {
|
| std::vector<PacketFeedback> sent_packets = {
|
| - PacketFeedback(100, 220, 0, 1500, kPacingInfo0),
|
| - PacketFeedback(110, 210, 1, 1500, kPacingInfo0),
|
| - PacketFeedback(120, 220, 2, 1500, kPacingInfo0),
|
| - PacketFeedback(130, 230, 3, 1500, kPacingInfo0),
|
| - PacketFeedback(140, 240, 4, 1500, kPacingInfo0),
|
| - PacketFeedback(150, 250, 5, 1500, kPacingInfo0),
|
| - PacketFeedback(160, 260, 6, 1500, kPacingInfo0)
|
| - };
|
| + PacketFeedback(100, 220, 0, 1500, kRtpHeadersSize, kTransportHeadersSize,
|
| + kPacingInfo0),
|
| + PacketFeedback(110, 210, 1, 1500, kRtpHeadersSize, kTransportHeadersSize,
|
| + kPacingInfo0),
|
| + PacketFeedback(120, 220, 2, 1500, kRtpHeadersSize, kTransportHeadersSize,
|
| + kPacingInfo0),
|
| + PacketFeedback(130, 230, 3, 1500, kRtpHeadersSize, kTransportHeadersSize,
|
| + kPacingInfo0),
|
| + PacketFeedback(140, 240, 4, 1500, kRtpHeadersSize, kTransportHeadersSize,
|
| + kPacingInfo0),
|
| + PacketFeedback(150, 250, 5, 1500, kRtpHeadersSize, kTransportHeadersSize,
|
| + kPacingInfo0),
|
| + PacketFeedback(160, 260, 6, 1500, kRtpHeadersSize, kTransportHeadersSize,
|
| + kPacingInfo0)};
|
|
|
| for (const PacketFeedback& packet : sent_packets)
|
| OnSentPacket(packet);
|
| @@ -198,11 +216,16 @@ TEST_F(TransportFeedbackAdapterTest, FeedbackVectorReportsUnreceived) {
|
|
|
| TEST_F(TransportFeedbackAdapterTest, HandlesDroppedPackets) {
|
| std::vector<PacketFeedback> packets;
|
| - packets.push_back(PacketFeedback(100, 200, 0, 1500, kPacingInfo0));
|
| - packets.push_back(PacketFeedback(110, 210, 1, 1500, kPacingInfo1));
|
| - packets.push_back(PacketFeedback(120, 220, 2, 1500, kPacingInfo2));
|
| - packets.push_back(PacketFeedback(130, 230, 3, 1500, kPacingInfo3));
|
| - packets.push_back(PacketFeedback(140, 240, 4, 1500, kPacingInfo4));
|
| + packets.push_back(PacketFeedback(100, 200, 0, 1500, kRtpHeadersSize,
|
| + kTransportHeadersSize, kPacingInfo0));
|
| + packets.push_back(PacketFeedback(110, 210, 1, 1500, kRtpHeadersSize,
|
| + kTransportHeadersSize, kPacingInfo1));
|
| + packets.push_back(PacketFeedback(120, 220, 2, 1500, kRtpHeadersSize,
|
| + kTransportHeadersSize, kPacingInfo2));
|
| + packets.push_back(PacketFeedback(130, 230, 3, 1500, kRtpHeadersSize,
|
| + kTransportHeadersSize, kPacingInfo3));
|
| + packets.push_back(PacketFeedback(140, 240, 4, 1500, kRtpHeadersSize,
|
| + kTransportHeadersSize, kPacingInfo4));
|
|
|
| const uint16_t kSendSideDropBefore = 1;
|
| const uint16_t kReceiveSideDropAfter = 3;
|
| @@ -245,12 +268,15 @@ TEST_F(TransportFeedbackAdapterTest, SendTimeWrapsBothWays) {
|
| static_cast<int64_t>(1 << 8) *
|
| static_cast<int64_t>((1 << 23) - 1) / 1000;
|
| std::vector<PacketFeedback> packets;
|
| - packets.push_back(
|
| - PacketFeedback(kHighArrivalTimeMs - 64, 200, 0, 1500, PacedPacketInfo()));
|
| - packets.push_back(
|
| - PacketFeedback(kHighArrivalTimeMs + 64, 210, 1, 1500, PacedPacketInfo()));
|
| - packets.push_back(
|
| - PacketFeedback(kHighArrivalTimeMs, 220, 2, 1500, PacedPacketInfo()));
|
| + packets.push_back(PacketFeedback(kHighArrivalTimeMs - 64, 200, 0, 1500,
|
| + kRtpHeadersSize, kTransportHeadersSize,
|
| + PacedPacketInfo()));
|
| + packets.push_back(PacketFeedback(kHighArrivalTimeMs + 64, 210, 1, 1500,
|
| + kRtpHeadersSize, kTransportHeadersSize,
|
| + PacedPacketInfo()));
|
| + packets.push_back(PacketFeedback(kHighArrivalTimeMs, 220, 2, 1500,
|
| + kRtpHeadersSize, kTransportHeadersSize,
|
| + PacedPacketInfo()));
|
|
|
| for (const PacketFeedback& packet : packets)
|
| OnSentPacket(packet);
|
| @@ -279,9 +305,12 @@ TEST_F(TransportFeedbackAdapterTest, SendTimeWrapsBothWays) {
|
|
|
| TEST_F(TransportFeedbackAdapterTest, HandlesArrivalReordering) {
|
| std::vector<PacketFeedback> packets;
|
| - packets.push_back(PacketFeedback(120, 200, 0, 1500, kPacingInfo0));
|
| - packets.push_back(PacketFeedback(110, 210, 1, 1500, kPacingInfo0));
|
| - packets.push_back(PacketFeedback(100, 220, 2, 1500, kPacingInfo0));
|
| + packets.push_back(PacketFeedback(120, 200, 0, 1500, kRtpHeadersSize,
|
| + kTransportHeadersSize, kPacingInfo0));
|
| + packets.push_back(PacketFeedback(110, 210, 1, 1500, kRtpHeadersSize,
|
| + kTransportHeadersSize, kPacingInfo0));
|
| + packets.push_back(PacketFeedback(100, 220, 2, 1500, kRtpHeadersSize,
|
| + kTransportHeadersSize, kPacingInfo0));
|
|
|
| for (const PacketFeedback& packet : packets)
|
| OnSentPacket(packet);
|
| @@ -315,7 +344,8 @@ TEST_F(TransportFeedbackAdapterTest, TimestampDeltas) {
|
| rtcp::TransportFeedback::kDeltaScaleFactor *
|
| std::numeric_limits<int16_t>::min();
|
|
|
| - PacketFeedback packet_feedback(100, 200, 0, 1500, true, 0, 0,
|
| + PacketFeedback packet_feedback(100, 200, 0, 1500, kRtpHeadersSize,
|
| + kTransportHeadersSize, true, 0, 0,
|
| PacedPacketInfo());
|
| sent_packets.push_back(packet_feedback);
|
|
|
|
|