Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 213 } | 213 } |
| 214 | 214 |
| 215 fake_clock_.AdvanceTimeMilliseconds(100); | 215 fake_clock_.AdvanceTimeMilliseconds(100); |
| 216 | 216 |
| 217 // Retransmit all packets currently in buffer. | 217 // Retransmit all packets currently in buffer. |
| 218 for (size_t i = 1; i < RtpPacketHistory::kMaxCapacity + 1; ++i) { | 218 for (size_t i = 1; i < RtpPacketHistory::kMaxCapacity + 1; ++i) { |
| 219 EXPECT_TRUE(hist_.GetPacketAndSetSendTime(kSeqNum + i, 100, false)); | 219 EXPECT_TRUE(hist_.GetPacketAndSetSendTime(kSeqNum + i, 100, false)); |
| 220 } | 220 } |
| 221 } | 221 } |
| 222 | 222 |
| 223 TEST_F(RtpPacketHistoryTest, GetBestFittingPacket) { | |
| 224 constexpr size_t kMinPacketRequestBytes = 50; | |
| 225 | |
| 226 hist_.SetStorePacketsStatus(true, 3); | |
| 227 | |
| 228 std::unique_ptr<RtpPacketToSend> packet = CreateRtpPacket(kSeqNum); | |
| 229 const size_t header_size = packet->headers_size(); | |
| 230 const int64_t start_time_ms = fake_clock_.TimeInMilliseconds(); | |
| 231 | |
| 232 packet->AllocatePayload(kMinPacketRequestBytes - header_size); | |
|
danilchap
2017/03/30 11:58:08
SetPayloadSize should be usable if you rebase.
As
| |
| 233 hist_.PutRtpPacket(std::move(packet), kAllowRetransmission, false); | |
| 234 | |
| 235 fake_clock_.AdvanceTimeMilliseconds(1); | |
| 236 | |
| 237 packet = CreateRtpPacket(kSeqNum + 1); | |
| 238 packet->AllocatePayload(kMinPacketRequestBytes); | |
| 239 hist_.PutRtpPacket(std::move(packet), kAllowRetransmission, false); | |
| 240 | |
| 241 fake_clock_.AdvanceTimeMilliseconds(1); | |
| 242 | |
| 243 packet = CreateRtpPacket(kSeqNum + 2); | |
| 244 packet->AllocatePayload(kMinPacketRequestBytes + header_size); | |
| 245 hist_.PutRtpPacket(std::move(packet), kAllowRetransmission, false); | |
| 246 | |
| 247 constexpr bool kIncludeHeader = true; | |
| 248 std::unique_ptr<RtpPacketToSend> fit = | |
| 249 hist_.GetBestFittingPacket(kMinPacketRequestBytes, kIncludeHeader); | |
| 250 ASSERT_TRUE(fit); | |
| 251 EXPECT_EQ(start_time_ms, fit->capture_time_ms()); | |
| 252 | |
| 253 fit = hist_.GetBestFittingPacket(kMinPacketRequestBytes, !kIncludeHeader); | |
| 254 ASSERT_TRUE(fit); | |
| 255 EXPECT_EQ(start_time_ms + 1, fit->capture_time_ms()); | |
| 256 } | |
| 257 | |
| 223 } // namespace webrtc | 258 } // namespace webrtc |
| OLD | NEW |