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 1b73b6553fd8165fe3a144e205c5b4c3753d84a2..a6a886be94b023e11361b0cef66dc086dad37dd6 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc |
@@ -1491,4 +1491,29 @@ TEST_F(RtpSenderTest, AddOverheadToTransportFeedbackObserver) { |
SendGenericPayload(); |
} |
+TEST_F(RtpSenderTest, SendAudioPadding) { |
+ MockTransport transport; |
+ const bool kEnableAudio = true; |
+ rtp_sender_.reset(new RTPSender( |
+ kEnableAudio, &fake_clock_, &transport, &mock_paced_sender_, nullptr, |
+ nullptr, nullptr, nullptr, nullptr, nullptr, &mock_rtc_event_log_, |
+ nullptr, &retransmission_rate_limiter_, nullptr)); |
+ rtp_sender_->SetSendPayloadType(kPayload); |
+ rtp_sender_->SetSequenceNumber(kSeqNum); |
+ rtp_sender_->SetTimestampOffset(0); |
+ rtp_sender_->SetSSRC(kSsrc); |
+ |
+ const size_t kPaddingSize = 59; |
+ EXPECT_CALL(transport, SendRtp(_, kPaddingSize + kRtpHeaderSize, _)) |
+ .WillOnce(testing::Return(true)); |
+ EXPECT_EQ(kPaddingSize, rtp_sender_->TimeToSendPadding( |
+ kPaddingSize, PacketInfo::kNotAProbe)); |
+ |
+ // Requested padding size is too small, will send a larger one. |
+ const size_t kMinPaddingSize = 50; |
+ EXPECT_CALL(transport, SendRtp(_, kMinPaddingSize + kRtpHeaderSize, _)) |
+ .WillOnce(testing::Return(true)); |
+ EXPECT_EQ(kMinPaddingSize, rtp_sender_->TimeToSendPadding( |
+ kMinPaddingSize - 5, PacketInfo::kNotAProbe)); |
+} |
} // namespace webrtc |