| 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...) Expand 10 before | Expand all | Expand 10 after 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...) Expand 10 before | Expand all | Expand 10 after 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...) Expand all 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...) Expand 10 before | Expand all | Expand 10 after 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...) Expand all 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 |