| 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_METHOD4(AddPacket, |   129   MOCK_METHOD5( | 
|   130                void(uint32_t, uint16_t, size_t, const PacedPacketInfo&)); |   130       AddPacket, | 
 |   131       void(uint32_t, uint16_t, size_t, size_t, const PacedPacketInfo&)); | 
|   131   MOCK_METHOD1(OnTransportFeedback, void(const rtcp::TransportFeedback&)); |   132   MOCK_METHOD1(OnTransportFeedback, void(const rtcp::TransportFeedback&)); | 
|   132   MOCK_CONST_METHOD0(GetTransportFeedbackVector, std::vector<PacketFeedback>()); |   133   MOCK_CONST_METHOD0(GetTransportFeedbackVector, std::vector<PacketFeedback>()); | 
|   133 }; |   134 }; | 
|   134  |   135  | 
|   135 class MockOverheadObserver : public OverheadObserver { |   136 class MockOverheadObserver : public OverheadObserver { | 
|   136  public: |   137  public: | 
|   137   MOCK_METHOD1(OnOverheadChanged, void(size_t overhead_bytes_per_packet)); |   138   MOCK_METHOD1(OnOverheadChanged, void(size_t overhead_bytes_per_packet)); | 
|   138 }; |   139 }; | 
|   139  |   140  | 
|   140 class RtpSenderTest : public ::testing::TestWithParam<bool> { |   141 class RtpSenderTest : public ::testing::TestWithParam<bool> { | 
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   355       false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_, |   356       false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_, | 
|   356       &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_, |   357       &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_, | 
|   357       nullptr, &retransmission_rate_limiter_, &mock_overhead_observer)); |   358       nullptr, &retransmission_rate_limiter_, &mock_overhead_observer)); | 
|   358   rtp_sender_->SetSSRC(kSsrc); |   359   rtp_sender_->SetSSRC(kSsrc); | 
|   359   EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |   360   EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( | 
|   360                    kRtpExtensionTransportSequenceNumber, |   361                    kRtpExtensionTransportSequenceNumber, | 
|   361                    kTransportSequenceNumberExtensionId)); |   362                    kTransportSequenceNumberExtensionId)); | 
|   362   EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) |   363   EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) | 
|   363       .WillOnce(testing::Return(kTransportSequenceNumber)); |   364       .WillOnce(testing::Return(kTransportSequenceNumber)); | 
|   364  |   365  | 
|   365   const size_t expected_bytes = |  | 
|   366       GetParam() ? sizeof(kPayloadData) + kGenericHeaderLength + |  | 
|   367                        kRtpOverheadBytesPerPacket |  | 
|   368                  : sizeof(kPayloadData) + kGenericHeaderLength; |  | 
|   369  |  | 
|   370   EXPECT_CALL(feedback_observer_, |   366   EXPECT_CALL(feedback_observer_, | 
|   371               AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, |   367               AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, | 
|   372                         expected_bytes, PacedPacketInfo())) |   368                         sizeof(kPayloadData) + kGenericHeaderLength, | 
 |   369                         kRtpOverheadBytesPerPacket, PacedPacketInfo())) | 
|   373       .Times(1); |   370       .Times(1); | 
|   374   EXPECT_CALL(mock_overhead_observer, |   371   EXPECT_CALL(mock_overhead_observer, | 
|   375               OnOverheadChanged(kRtpOverheadBytesPerPacket)) |   372               OnOverheadChanged(kRtpOverheadBytesPerPacket)) | 
|   376       .Times(1); |   373       .Times(1); | 
|   377   SendGenericPayload(); |   374   SendGenericPayload(); | 
|   378 } |   375 } | 
|   379  |   376  | 
|   380 TEST_P(RtpSenderTestWithoutPacer, SendsPacketsWithTransportSequenceNumber) { |   377 TEST_P(RtpSenderTestWithoutPacer, SendsPacketsWithTransportSequenceNumber) { | 
|   381   rtp_sender_.reset(new RTPSender( |   378   rtp_sender_.reset(new RTPSender( | 
|   382       false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_, |   379       false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_, | 
|   383       &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_, |   380       &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_, | 
|   384       &send_packet_observer_, &retransmission_rate_limiter_, nullptr)); |   381       &send_packet_observer_, &retransmission_rate_limiter_, nullptr)); | 
|   385   rtp_sender_->SetSSRC(kSsrc); |   382   rtp_sender_->SetSSRC(kSsrc); | 
|   386   EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |   383   EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( | 
|   387                    kRtpExtensionTransportSequenceNumber, |   384                    kRtpExtensionTransportSequenceNumber, | 
|   388                    kTransportSequenceNumberExtensionId)); |   385                    kTransportSequenceNumberExtensionId)); | 
|   389  |   386  | 
|   390   EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) |   387   EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) | 
|   391       .WillOnce(testing::Return(kTransportSequenceNumber)); |   388       .WillOnce(testing::Return(kTransportSequenceNumber)); | 
|   392   EXPECT_CALL(send_packet_observer_, |   389   EXPECT_CALL(send_packet_observer_, | 
|   393               OnSendPacket(kTransportSequenceNumber, _, _)) |   390               OnSendPacket(kTransportSequenceNumber, _, _)) | 
|   394       .Times(1); |   391       .Times(1); | 
|   395  |   392  | 
|   396   EXPECT_CALL(feedback_observer_, |   393   EXPECT_CALL(feedback_observer_, | 
|   397               AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, _, |   394               AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, _, _, | 
|   398                         PacedPacketInfo())) |   395                         PacedPacketInfo())) | 
|   399       .Times(1); |   396       .Times(1); | 
|   400  |   397  | 
|   401   SendGenericPayload(); |   398   SendGenericPayload(); | 
|   402  |   399  | 
|   403   const auto& packet = transport_.last_sent_packet(); |   400   const auto& packet = transport_.last_sent_packet(); | 
|   404   uint16_t transport_seq_no; |   401   uint16_t transport_seq_no; | 
|   405   ASSERT_TRUE(packet.GetExtension<TransportSequenceNumber>(&transport_seq_no)); |   402   ASSERT_TRUE(packet.GetExtension<TransportSequenceNumber>(&transport_seq_no)); | 
|   406   EXPECT_EQ(kTransportSequenceNumber, transport_seq_no); |   403   EXPECT_EQ(kTransportSequenceNumber, transport_seq_no); | 
|   407   EXPECT_EQ(transport_.last_packet_id_, transport_seq_no); |   404   EXPECT_EQ(transport_.last_packet_id_, transport_seq_no); | 
| (...skipping 29 matching lines...) Expand all  Loading... | 
|   437                    kRtpExtensionTransportSequenceNumber, |   434                    kRtpExtensionTransportSequenceNumber, | 
|   438                    kTransportSequenceNumberExtensionId)); |   435                    kTransportSequenceNumberExtensionId)); | 
|   439  |   436  | 
|   440   EXPECT_CALL(mock_paced_sender_, InsertPacket(_, kSsrc, kSeqNum, _, _, _)); |   437   EXPECT_CALL(mock_paced_sender_, InsertPacket(_, kSsrc, kSeqNum, _, _, _)); | 
|   441   EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) |   438   EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) | 
|   442       .WillOnce(testing::Return(kTransportSequenceNumber)); |   439       .WillOnce(testing::Return(kTransportSequenceNumber)); | 
|   443   EXPECT_CALL(send_packet_observer_, |   440   EXPECT_CALL(send_packet_observer_, | 
|   444               OnSendPacket(kTransportSequenceNumber, _, _)) |   441               OnSendPacket(kTransportSequenceNumber, _, _)) | 
|   445       .Times(1); |   442       .Times(1); | 
|   446   EXPECT_CALL(feedback_observer_, |   443   EXPECT_CALL(feedback_observer_, | 
|   447               AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, _, |   444               AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, _, _, | 
|   448                         PacedPacketInfo())) |   445                         PacedPacketInfo())) | 
|   449       .Times(1); |   446       .Times(1); | 
|   450  |   447  | 
|   451   SendGenericPayload(); |   448   SendGenericPayload(); | 
|   452   rtp_sender_->TimeToSendPacket(kSsrc, kSeqNum, |   449   rtp_sender_->TimeToSendPacket(kSsrc, kSeqNum, | 
|   453                                 fake_clock_.TimeInMilliseconds(), false, |   450                                 fake_clock_.TimeInMilliseconds(), false, | 
|   454                                 PacedPacketInfo()); |   451                                 PacedPacketInfo()); | 
|   455  |   452  | 
|   456   const auto& packet = transport_.last_sent_packet(); |   453   const auto& packet = transport_.last_sent_packet(); | 
|   457   uint16_t transport_seq_no; |   454   uint16_t transport_seq_no; | 
| (...skipping 1077 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1535 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, |  1532 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, | 
|  1536                         RtpSenderTestWithoutPacer, |  1533                         RtpSenderTestWithoutPacer, | 
|  1537                         ::testing::Bool()); |  1534                         ::testing::Bool()); | 
|  1538 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, |  1535 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, | 
|  1539                         RtpSenderVideoTest, |  1536                         RtpSenderVideoTest, | 
|  1540                         ::testing::Bool()); |  1537                         ::testing::Bool()); | 
|  1541 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, |  1538 INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, | 
|  1542                         RtpSenderAudioTest, |  1539                         RtpSenderAudioTest, | 
|  1543                         ::testing::Bool()); |  1540                         ::testing::Bool()); | 
|  1544 }  // namespace webrtc |  1541 }  // namespace webrtc | 
| OLD | NEW |