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 108 matching lines...) Loading... |
119 MOCK_METHOD0(AllocateSequenceNumber, uint16_t()); | 119 MOCK_METHOD0(AllocateSequenceNumber, uint16_t()); |
120 }; | 120 }; |
121 | 121 |
122 class MockSendPacketObserver : public SendPacketObserver { | 122 class MockSendPacketObserver : public SendPacketObserver { |
123 public: | 123 public: |
124 MOCK_METHOD3(OnSendPacket, void(uint16_t, int64_t, uint32_t)); | 124 MOCK_METHOD3(OnSendPacket, void(uint16_t, int64_t, uint32_t)); |
125 }; | 125 }; |
126 | 126 |
127 class MockTransportFeedbackObserver : public TransportFeedbackObserver { | 127 class MockTransportFeedbackObserver : public TransportFeedbackObserver { |
128 public: | 128 public: |
129 MOCK_METHOD3(AddPacket, void(uint16_t, size_t, const PacedPacketInfo&)); | 129 MOCK_METHOD4(AddPacket, |
| 130 void(uint32_t, uint16_t, size_t, const PacedPacketInfo&)); |
130 MOCK_METHOD1(OnTransportFeedback, void(const rtcp::TransportFeedback&)); | 131 MOCK_METHOD1(OnTransportFeedback, void(const rtcp::TransportFeedback&)); |
131 MOCK_CONST_METHOD0(GetTransportFeedbackVector, std::vector<PacketFeedback>()); | 132 MOCK_CONST_METHOD0(GetTransportFeedbackVector, std::vector<PacketFeedback>()); |
132 }; | 133 }; |
133 | 134 |
134 class RtpSenderTest : public ::testing::Test { | 135 class RtpSenderTest : public ::testing::Test { |
135 protected: | 136 protected: |
136 RtpSenderTest() | 137 RtpSenderTest() |
137 : fake_clock_(kStartTime), | 138 : fake_clock_(kStartTime), |
138 mock_rtc_event_log_(), | 139 mock_rtc_event_log_(), |
139 mock_paced_sender_(), | 140 mock_paced_sender_(), |
(...skipping 208 matching lines...) Loading... |
348 kRtpExtensionTransportSequenceNumber, | 349 kRtpExtensionTransportSequenceNumber, |
349 kTransportSequenceNumberExtensionId)); | 350 kTransportSequenceNumberExtensionId)); |
350 | 351 |
351 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) | 352 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) |
352 .WillOnce(testing::Return(kTransportSequenceNumber)); | 353 .WillOnce(testing::Return(kTransportSequenceNumber)); |
353 EXPECT_CALL(send_packet_observer_, | 354 EXPECT_CALL(send_packet_observer_, |
354 OnSendPacket(kTransportSequenceNumber, _, _)) | 355 OnSendPacket(kTransportSequenceNumber, _, _)) |
355 .Times(1); | 356 .Times(1); |
356 EXPECT_CALL( | 357 EXPECT_CALL( |
357 feedback_observer_, | 358 feedback_observer_, |
358 AddPacket(kTransportSequenceNumber, | 359 AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, |
359 sizeof(kPayloadData) + kGenericHeaderLength, PacedPacketInfo())) | 360 sizeof(kPayloadData) + kGenericHeaderLength, PacedPacketInfo())) |
360 .Times(1); | 361 .Times(1); |
361 | 362 |
362 SendGenericPayload(); | 363 SendGenericPayload(); |
363 | 364 |
364 const auto& packet = transport_.last_sent_packet(); | 365 const auto& packet = transport_.last_sent_packet(); |
365 uint16_t transport_seq_no; | 366 uint16_t transport_seq_no; |
366 ASSERT_TRUE(packet.GetExtension<TransportSequenceNumber>(&transport_seq_no)); | 367 ASSERT_TRUE(packet.GetExtension<TransportSequenceNumber>(&transport_seq_no)); |
367 EXPECT_EQ(kTransportSequenceNumber, transport_seq_no); | 368 EXPECT_EQ(kTransportSequenceNumber, transport_seq_no); |
368 EXPECT_EQ(transport_.last_packet_id_, transport_seq_no); | 369 EXPECT_EQ(transport_.last_packet_id_, transport_seq_no); |
(...skipping 30 matching lines...) Loading... |
399 kTransportSequenceNumberExtensionId)); | 400 kTransportSequenceNumberExtensionId)); |
400 | 401 |
401 EXPECT_CALL(mock_paced_sender_, InsertPacket(_, kSsrc, kSeqNum, _, _, _)); | 402 EXPECT_CALL(mock_paced_sender_, InsertPacket(_, kSsrc, kSeqNum, _, _, _)); |
402 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) | 403 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) |
403 .WillOnce(testing::Return(kTransportSequenceNumber)); | 404 .WillOnce(testing::Return(kTransportSequenceNumber)); |
404 EXPECT_CALL(send_packet_observer_, | 405 EXPECT_CALL(send_packet_observer_, |
405 OnSendPacket(kTransportSequenceNumber, _, _)) | 406 OnSendPacket(kTransportSequenceNumber, _, _)) |
406 .Times(1); | 407 .Times(1); |
407 EXPECT_CALL( | 408 EXPECT_CALL( |
408 feedback_observer_, | 409 feedback_observer_, |
409 AddPacket(kTransportSequenceNumber, | 410 AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, |
410 sizeof(kPayloadData) + kGenericHeaderLength, PacedPacketInfo())) | 411 sizeof(kPayloadData) + kGenericHeaderLength, PacedPacketInfo())) |
411 .Times(1); | 412 .Times(1); |
412 | 413 |
413 SendGenericPayload(); | 414 SendGenericPayload(); |
414 rtp_sender_->TimeToSendPacket(kSsrc, kSeqNum, | 415 rtp_sender_->TimeToSendPacket(kSsrc, kSeqNum, |
415 fake_clock_.TimeInMilliseconds(), false, | 416 fake_clock_.TimeInMilliseconds(), false, |
416 PacedPacketInfo()); | 417 PacedPacketInfo()); |
417 | 418 |
418 const auto& packet = transport_.last_sent_packet(); | 419 const auto& packet = transport_.last_sent_packet(); |
419 uint16_t transport_seq_no; | 420 uint16_t transport_seq_no; |
(...skipping 1060 matching lines...) Loading... |
1480 false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_, | 1481 false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_, |
1481 &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_, | 1482 &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_, |
1482 nullptr, &retransmission_rate_limiter_, &mock_overhead_observer)); | 1483 nullptr, &retransmission_rate_limiter_, &mock_overhead_observer)); |
1483 rtp_sender_->SetSSRC(kSsrc); | 1484 rtp_sender_->SetSSRC(kSsrc); |
1484 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( | 1485 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
1485 kRtpExtensionTransportSequenceNumber, | 1486 kRtpExtensionTransportSequenceNumber, |
1486 kTransportSequenceNumberExtensionId)); | 1487 kTransportSequenceNumberExtensionId)); |
1487 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) | 1488 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) |
1488 .WillOnce(testing::Return(kTransportSequenceNumber)); | 1489 .WillOnce(testing::Return(kTransportSequenceNumber)); |
1489 EXPECT_CALL(feedback_observer_, | 1490 EXPECT_CALL(feedback_observer_, |
1490 AddPacket(kTransportSequenceNumber, | 1491 AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, |
1491 sizeof(kPayloadData) + kGenericHeaderLength + | 1492 sizeof(kPayloadData) + kGenericHeaderLength + |
1492 kRtpOverheadBytesPerPacket, | 1493 kRtpOverheadBytesPerPacket, |
1493 PacedPacketInfo())) | 1494 PacedPacketInfo())) |
1494 .Times(1); | 1495 .Times(1); |
1495 EXPECT_CALL(mock_overhead_observer, | 1496 EXPECT_CALL(mock_overhead_observer, |
1496 OnOverheadChanged(kRtpOverheadBytesPerPacket)) | 1497 OnOverheadChanged(kRtpOverheadBytesPerPacket)) |
1497 .Times(1); | 1498 .Times(1); |
1498 SendGenericPayload(); | 1499 SendGenericPayload(); |
1499 } | 1500 } |
1500 | 1501 |
(...skipping 17 matching lines...) Loading... |
1518 | 1519 |
1519 // Requested padding size is too small, will send a larger one. | 1520 // Requested padding size is too small, will send a larger one. |
1520 const size_t kMinPaddingSize = 50; | 1521 const size_t kMinPaddingSize = 50; |
1521 EXPECT_CALL(transport, SendRtp(_, kMinPaddingSize + kRtpHeaderSize, _)) | 1522 EXPECT_CALL(transport, SendRtp(_, kMinPaddingSize + kRtpHeaderSize, _)) |
1522 .WillOnce(testing::Return(true)); | 1523 .WillOnce(testing::Return(true)); |
1523 EXPECT_EQ( | 1524 EXPECT_EQ( |
1524 kMinPaddingSize, | 1525 kMinPaddingSize, |
1525 rtp_sender_->TimeToSendPadding(kMinPaddingSize - 5, PacedPacketInfo())); | 1526 rtp_sender_->TimeToSendPadding(kMinPaddingSize - 5, PacedPacketInfo())); |
1526 } | 1527 } |
1527 } // namespace webrtc | 1528 } // namespace webrtc |
OLD | NEW |