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, int)); | 129 MOCK_METHOD4(AddPacket, void(uint32_t, uint16_t, size_t, int)); |
130 MOCK_METHOD1(OnTransportFeedback, void(const rtcp::TransportFeedback&)); | 130 MOCK_METHOD1(OnTransportFeedback, void(const rtcp::TransportFeedback&)); |
131 MOCK_CONST_METHOD0(GetTransportFeedbackVector, std::vector<PacketInfo>()); | 131 MOCK_CONST_METHOD0(GetTransportFeedbackVector, std::vector<PacketInfo>()); |
132 }; | 132 }; |
133 | 133 |
134 class RtpSenderTest : public ::testing::Test { | 134 class RtpSenderTest : public ::testing::Test { |
135 protected: | 135 protected: |
136 RtpSenderTest() | 136 RtpSenderTest() |
137 : fake_clock_(kStartTime), | 137 : fake_clock_(kStartTime), |
138 mock_rtc_event_log_(), | 138 mock_rtc_event_log_(), |
139 mock_paced_sender_(), | 139 mock_paced_sender_(), |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
346 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( | 346 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
347 kRtpExtensionTransportSequenceNumber, | 347 kRtpExtensionTransportSequenceNumber, |
348 kTransportSequenceNumberExtensionId)); | 348 kTransportSequenceNumberExtensionId)); |
349 | 349 |
350 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) | 350 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) |
351 .WillOnce(testing::Return(kTransportSequenceNumber)); | 351 .WillOnce(testing::Return(kTransportSequenceNumber)); |
352 EXPECT_CALL(send_packet_observer_, | 352 EXPECT_CALL(send_packet_observer_, |
353 OnSendPacket(kTransportSequenceNumber, _, _)) | 353 OnSendPacket(kTransportSequenceNumber, _, _)) |
354 .Times(1); | 354 .Times(1); |
355 EXPECT_CALL(feedback_observer_, | 355 EXPECT_CALL(feedback_observer_, |
356 AddPacket(kTransportSequenceNumber, | 356 AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, |
357 sizeof(kPayloadData) + kGenericHeaderLength, | 357 sizeof(kPayloadData) + kGenericHeaderLength, |
358 PacketInfo::kNotAProbe)) | 358 PacketInfo::kNotAProbe)) |
359 .Times(1); | 359 .Times(1); |
360 | 360 |
361 SendGenericPayload(); | 361 SendGenericPayload(); |
362 | 362 |
363 const auto& packet = transport_.last_sent_packet(); | 363 const auto& packet = transport_.last_sent_packet(); |
364 uint16_t transport_seq_no; | 364 uint16_t transport_seq_no; |
365 ASSERT_TRUE(packet.GetExtension<TransportSequenceNumber>(&transport_seq_no)); | 365 ASSERT_TRUE(packet.GetExtension<TransportSequenceNumber>(&transport_seq_no)); |
366 EXPECT_EQ(kTransportSequenceNumber, transport_seq_no); | 366 EXPECT_EQ(kTransportSequenceNumber, transport_seq_no); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 | 399 |
400 EXPECT_CALL(mock_paced_sender_, InsertPacket(_, kSsrc, kSeqNum, _, _, _)); | 400 EXPECT_CALL(mock_paced_sender_, InsertPacket(_, kSsrc, kSeqNum, _, _, _)); |
401 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) | 401 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) |
402 .WillOnce(testing::Return(kTransportSequenceNumber)); | 402 .WillOnce(testing::Return(kTransportSequenceNumber)); |
403 EXPECT_CALL(send_packet_observer_, | 403 EXPECT_CALL(send_packet_observer_, |
404 OnSendPacket(kTransportSequenceNumber, _, _)) | 404 OnSendPacket(kTransportSequenceNumber, _, _)) |
405 .Times(1); | 405 .Times(1); |
406 const int kProbeClusterId = 1; | 406 const int kProbeClusterId = 1; |
407 EXPECT_CALL( | 407 EXPECT_CALL( |
408 feedback_observer_, | 408 feedback_observer_, |
409 AddPacket(kTransportSequenceNumber, | 409 AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, |
410 sizeof(kPayloadData) + kGenericHeaderLength, kProbeClusterId)) | 410 sizeof(kPayloadData) + kGenericHeaderLength, kProbeClusterId)) |
411 .Times(1); | 411 .Times(1); |
412 | 412 |
413 SendGenericPayload(); | 413 SendGenericPayload(); |
414 rtp_sender_->TimeToSendPacket( | 414 rtp_sender_->TimeToSendPacket( |
415 kSsrc, kSeqNum, fake_clock_.TimeInMilliseconds(), false, kProbeClusterId); | 415 kSsrc, kSeqNum, fake_clock_.TimeInMilliseconds(), false, kProbeClusterId); |
416 | 416 |
417 const auto& packet = transport_.last_sent_packet(); | 417 const auto& packet = transport_.last_sent_packet(); |
418 uint16_t transport_seq_no; | 418 uint16_t transport_seq_no; |
419 EXPECT_TRUE(packet.GetExtension<TransportSequenceNumber>(&transport_seq_no)); | 419 EXPECT_TRUE(packet.GetExtension<TransportSequenceNumber>(&transport_seq_no)); |
(...skipping 1053 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1473 rtp_sender_.reset(new RTPSender( | 1473 rtp_sender_.reset(new RTPSender( |
1474 false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_, | 1474 false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_, |
1475 &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_, | 1475 &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_, |
1476 nullptr, &retransmission_rate_limiter_, &mock_overhead_observer)); | 1476 nullptr, &retransmission_rate_limiter_, &mock_overhead_observer)); |
1477 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( | 1477 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
1478 kRtpExtensionTransportSequenceNumber, | 1478 kRtpExtensionTransportSequenceNumber, |
1479 kTransportSequenceNumberExtensionId)); | 1479 kTransportSequenceNumberExtensionId)); |
1480 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) | 1480 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) |
1481 .WillOnce(testing::Return(kTransportSequenceNumber)); | 1481 .WillOnce(testing::Return(kTransportSequenceNumber)); |
1482 EXPECT_CALL(feedback_observer_, | 1482 EXPECT_CALL(feedback_observer_, |
1483 AddPacket(kTransportSequenceNumber, | 1483 AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, |
1484 sizeof(kPayloadData) + kGenericHeaderLength + | 1484 sizeof(kPayloadData) + kGenericHeaderLength + |
1485 kRtpOverheadBytesPerPacket, | 1485 kRtpOverheadBytesPerPacket, |
1486 PacketInfo::kNotAProbe)) | 1486 PacketInfo::kNotAProbe)) |
1487 .Times(1); | 1487 .Times(1); |
1488 EXPECT_CALL(mock_overhead_observer, | 1488 EXPECT_CALL(mock_overhead_observer, |
1489 OnOverheadChanged(kRtpOverheadBytesPerPacket)) | 1489 OnOverheadChanged(kRtpOverheadBytesPerPacket)) |
1490 .Times(1); | 1490 .Times(1); |
1491 SendGenericPayload(); | 1491 SendGenericPayload(); |
1492 } | 1492 } |
1493 | 1493 |
1494 } // namespace webrtc | 1494 } // namespace webrtc |
OLD | NEW |