Chromium Code Reviews| Index: webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback_unittest.cc |
| diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback_unittest.cc b/webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback_unittest.cc |
| index 76b51df0ef3b63cf76ece586e0ee1acc4969f20f..03aab688055015118182aaf4e402b9ac74861708 100644 |
| --- a/webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback_unittest.cc |
| +++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback_unittest.cc |
| @@ -454,5 +454,32 @@ TEST(RtcpPacketTest, TransportFeedback_Padding) { |
| EXPECT_EQ(kExpectedSizeWords * 4, packet->Length()); // Padding not included. |
| } |
| +TEST(RtcpPacketTest, TransportFeedback_HeyWhatsGoingOn) { |
|
stefan-webrtc
2015/09/30 10:45:27
There must be a better name than this? :)
sprang_webrtc
2015/09/30 11:09:27
Oops. Fixed. :)
|
| + const int kOneBitVectorCapacity = 14; |
| + const int kTwoBitVectorCapacity = 7; |
| + const int64_t kLargeTimeDelta = |
| + TransportFeedback::kDeltaScaleFactor * (1 << 8); |
| + |
| + // Test that a number of small deltas followed by a large delta results in a |
| + // correct split into multiple chunks, as needed. |
| + |
| + for (int num_small_deltas = kTwoBitVectorCapacity - 1; |
|
stefan-webrtc
2015/09/30 10:45:27
I don't follow why you don't start this counter on
sprang_webrtc
2015/09/30 11:09:27
Nah, only that that range wasn't quite so suspect.
|
| + num_small_deltas <= kOneBitVectorCapacity + 1; ++num_small_deltas) { |
| + TransportFeedback feedback; |
| + feedback.WithBase(0, 0); |
| + for (int i = 0; i < num_small_deltas; ++i) |
| + feedback.WithReceivedPacket(i, i * 1000); |
| + feedback.WithReceivedPacket(num_small_deltas, |
| + num_small_deltas * 1000 + kLargeTimeDelta); |
| + |
| + rtc::scoped_ptr<rtcp::RawPacket> serialized_packet = feedback.Build(); |
| + EXPECT_TRUE(serialized_packet.get() != nullptr); |
| + rtc::scoped_ptr<TransportFeedback> deserialized_packet = |
| + TransportFeedback::ParseFrom(serialized_packet->Buffer(), |
| + serialized_packet->Length()); |
| + EXPECT_TRUE(deserialized_packet.get() != nullptr); |
| + } |
| +} |
| + |
| } // namespace |
| } // namespace webrtc |