| Index: webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc
|
| diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc
|
| index d6796e788008971b6015f1e0a24759f4a3ea3dca..9e6e3e9722e78887327fe605fff3b5854f297844 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc
|
| +++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc
|
| @@ -149,7 +149,7 @@ class RtpSenderTest : public ::testing::Test {
|
| false, &fake_clock_, &transport_, pacer ? &mock_paced_sender_ : nullptr,
|
| nullptr, &seq_num_allocator_, nullptr, nullptr, nullptr, nullptr,
|
| &mock_rtc_event_log_, &send_packet_observer_,
|
| - &retransmission_rate_limiter_));
|
| + &retransmission_rate_limiter_, nullptr));
|
| rtp_sender_->SetSequenceNumber(kSeqNum);
|
| rtp_sender_->SetSendPayloadType(kPayload);
|
| rtp_sender_->SetTimestampOffset(0);
|
| @@ -442,7 +442,7 @@ TEST_F(RtpSenderTestWithoutPacer, SendsPacketsWithTransportSequenceNumber) {
|
| rtp_sender_.reset(new RTPSender(
|
| false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_,
|
| &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_,
|
| - &send_packet_observer_, &retransmission_rate_limiter_));
|
| + &send_packet_observer_, &retransmission_rate_limiter_, nullptr));
|
| EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
|
| kRtpExtensionTransportSequenceNumber,
|
| kTransportSequenceNumberExtensionId));
|
| @@ -485,11 +485,11 @@ TEST_F(RtpSenderTestWithoutPacer, OnSendPacketUpdated) {
|
| }
|
|
|
| TEST_F(RtpSenderTest, SendsPacketsWithTransportSequenceNumber) {
|
| - rtp_sender_.reset(
|
| - new RTPSender(false, &fake_clock_, &transport_, &mock_paced_sender_,
|
| - nullptr, &seq_num_allocator_, &feedback_observer_, nullptr,
|
| - nullptr, nullptr, &mock_rtc_event_log_,
|
| - &send_packet_observer_, &retransmission_rate_limiter_));
|
| + rtp_sender_.reset(new RTPSender(
|
| + false, &fake_clock_, &transport_, &mock_paced_sender_, nullptr,
|
| + &seq_num_allocator_, &feedback_observer_, nullptr, nullptr, nullptr,
|
| + &mock_rtc_event_log_, &send_packet_observer_,
|
| + &retransmission_rate_limiter_, nullptr));
|
| rtp_sender_->SetStorePacketsStatus(true, 10);
|
| EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
|
| kRtpExtensionTransportSequenceNumber,
|
| @@ -769,7 +769,8 @@ TEST_F(RtpSenderTest, OnSendPacketNotUpdatedWithoutSeqNumAllocator) {
|
| rtp_sender_.reset(new RTPSender(
|
| false, &fake_clock_, &transport_, &mock_paced_sender_, nullptr,
|
| nullptr /* TransportSequenceNumberAllocator */, nullptr, nullptr, nullptr,
|
| - nullptr, nullptr, &send_packet_observer_, &retransmission_rate_limiter_));
|
| + nullptr, nullptr, &send_packet_observer_, &retransmission_rate_limiter_,
|
| + nullptr));
|
| EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
|
| kRtpExtensionTransportSequenceNumber,
|
| kTransportSequenceNumberExtensionId));
|
| @@ -791,7 +792,7 @@ TEST_F(RtpSenderTest, SendRedundantPayloads) {
|
| rtp_sender_.reset(new RTPSender(
|
| false, &fake_clock_, &transport, &mock_paced_sender_, nullptr, nullptr,
|
| nullptr, nullptr, nullptr, nullptr, &mock_rtc_event_log_, nullptr,
|
| - &retransmission_rate_limiter_));
|
| + &retransmission_rate_limiter_, nullptr));
|
|
|
| rtp_sender_->SetSequenceNumber(kSeqNum);
|
| rtp_sender_->SetRtxPayloadType(kRtxPayload, kPayload);
|
| @@ -909,11 +910,11 @@ TEST_F(RtpSenderTest, SendFlexfecPackets) {
|
| kNoRtpExtensions, &fake_clock_);
|
|
|
| // Reset |rtp_sender_| to use FlexFEC.
|
| - rtp_sender_.reset(
|
| - new RTPSender(false, &fake_clock_, &transport_, &mock_paced_sender_,
|
| - &flexfec_sender, &seq_num_allocator_, nullptr, nullptr,
|
| - nullptr, nullptr, &mock_rtc_event_log_,
|
| - &send_packet_observer_, &retransmission_rate_limiter_));
|
| + rtp_sender_.reset(new RTPSender(
|
| + false, &fake_clock_, &transport_, &mock_paced_sender_, &flexfec_sender,
|
| + &seq_num_allocator_, nullptr, nullptr, nullptr, nullptr,
|
| + &mock_rtc_event_log_, &send_packet_observer_,
|
| + &retransmission_rate_limiter_, nullptr));
|
| rtp_sender_->SetSSRC(kMediaSsrc);
|
| rtp_sender_->SetSequenceNumber(kSeqNum);
|
| rtp_sender_->SetSendPayloadType(kMediaPayloadType);
|
| @@ -961,7 +962,7 @@ TEST_F(RtpSenderTestWithoutPacer, SendFlexfecPackets) {
|
| &flexfec_sender, &seq_num_allocator_, nullptr,
|
| nullptr, nullptr, nullptr,
|
| &mock_rtc_event_log_, &send_packet_observer_,
|
| - &retransmission_rate_limiter_));
|
| + &retransmission_rate_limiter_, nullptr));
|
| rtp_sender_->SetSSRC(kMediaSsrc);
|
| rtp_sender_->SetSequenceNumber(kSeqNum);
|
| rtp_sender_->SetSendPayloadType(kMediaPayloadType);
|
| @@ -1004,10 +1005,10 @@ TEST_F(RtpSenderTest, FrameCountCallbacks) {
|
| FrameCounts frame_counts_;
|
| } callback;
|
|
|
| - rtp_sender_.reset(new RTPSender(false, &fake_clock_, &transport_,
|
| - &mock_paced_sender_, nullptr, nullptr,
|
| - nullptr, nullptr, &callback, nullptr, nullptr,
|
| - nullptr, &retransmission_rate_limiter_));
|
| + rtp_sender_.reset(
|
| + new RTPSender(false, &fake_clock_, &transport_, &mock_paced_sender_,
|
| + nullptr, nullptr, nullptr, nullptr, &callback, nullptr,
|
| + nullptr, nullptr, &retransmission_rate_limiter_, nullptr));
|
|
|
| char payload_name[RTP_PAYLOAD_NAME_SIZE] = "GENERIC";
|
| const uint8_t payload_type = 127;
|
| @@ -1069,7 +1070,7 @@ TEST_F(RtpSenderTest, BitrateCallbacks) {
|
| rtp_sender_.reset(new RTPSender(false, &fake_clock_, &transport_, nullptr,
|
| nullptr, nullptr, nullptr, &callback, nullptr,
|
| nullptr, nullptr, nullptr,
|
| - &retransmission_rate_limiter_));
|
| + &retransmission_rate_limiter_, nullptr));
|
|
|
| // Simulate kNumPackets sent with kPacketInterval ms intervals, with the
|
| // number of packets selected so that we fill (but don't overflow) the one
|
| @@ -1127,7 +1128,7 @@ class RtpSenderAudioTest : public RtpSenderTest {
|
| rtp_sender_.reset(new RTPSender(true, &fake_clock_, &transport_, nullptr,
|
| nullptr, nullptr, nullptr, nullptr, nullptr,
|
| nullptr, nullptr, nullptr,
|
| - &retransmission_rate_limiter_));
|
| + &retransmission_rate_limiter_, nullptr));
|
| rtp_sender_->SetSequenceNumber(kSeqNum);
|
| }
|
| };
|
| @@ -1478,4 +1479,43 @@ TEST_F(RtpSenderVideoTest, SendVideoWithCameraAndFlipCVO) {
|
| ConvertCVOByteToVideoRotation(flip_bit | camera_bit | 3));
|
| }
|
|
|
| +namespace {
|
| +class MockOverheadSizeObserver : public OverheadSizeObserver {
|
| + public:
|
| + MOCK_METHOD1(OnOverheadSizeChanged, void(int overhead_bytes_per_packet));
|
| +};
|
| +} // namespace
|
| +
|
| +TEST_F(RtpSenderTest, OnOverheadSizeChanged) {
|
| + MockOverheadSizeObserver mock_overhead_size_observer;
|
| + EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber())
|
| + .WillRepeatedly(testing::Return(kTransportSequenceNumber));
|
| +
|
| + rtp_sender_.reset(new RTPSender(
|
| + false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_,
|
| + nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
| + &retransmission_rate_limiter_, &mock_overhead_size_observer));
|
| +
|
| + EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
|
| + kRtpExtensionTransportSequenceNumber,
|
| + kTransportSequenceNumberExtensionId));
|
| +
|
| + // Transport overhead is set to 28B.
|
| + EXPECT_CALL(mock_overhead_size_observer, OnOverheadSizeChanged(28)).Times(1);
|
| + rtp_sender_->SetTransportOverhead(28);
|
| +
|
| + // RTP Overhead with sequence number extension is 20B.
|
| + // 28B + 20B = 48B
|
| + EXPECT_CALL(mock_overhead_size_observer, OnOverheadSizeChanged(48)).Times(1);
|
| + SendGenericPayload();
|
| +
|
| + rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionTransmissionTimeOffset,
|
| + kTransmissionTimeOffsetExtensionId);
|
| +
|
| + // TransmissionTimeOffset extension has a size of 4B.
|
| + // 28B + 20B + 4B = 52B
|
| + EXPECT_CALL(mock_overhead_size_observer, OnOverheadSizeChanged(52)).Times(1);
|
| + SendGenericPayload();
|
| +}
|
| +
|
| } // namespace webrtc
|
|
|