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 929f5b2097d1e37db7d56d1ee0d73416eed446d0..9a6711e47f5295b560dc6bb34f6053e6dd995951 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc |
@@ -27,6 +27,7 @@ |
#include "webrtc/modules/rtp_rtcp/source/rtp_sender_video.h" |
#include "webrtc/modules/rtp_rtcp/source/rtp_utility.h" |
#include "webrtc/system_wrappers/include/stl_util.h" |
+#include "webrtc/test/field_trial.h" |
#include "webrtc/test/gmock.h" |
#include "webrtc/test/gtest.h" |
#include "webrtc/test/mock_transport.h" |
@@ -1530,4 +1531,34 @@ TEST_F(RtpSenderTest, DoesNotUpdateOverheadOnEqualSize) { |
SendGenericPayload(); |
} |
+TEST_F(RtpSenderTest, AddOverheadToTransportFeedbackObserver) { |
+ constexpr int kTransportOverheadBytesPerPacket = 28; |
+ constexpr int kRtpOverheadBytesPerPacket = 12 + 8; |
+ test::ScopedFieldTrials override_field_trials( |
+ "WebRTC-SendSideBwe-WithOverhead/Enabled/"); |
+ testing::NiceMock<MockOverheadObserver> mock_overhead_observer; |
+ rtp_sender_.reset(new RTPSender( |
+ false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_, |
+ &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_, |
+ nullptr, &retransmission_rate_limiter_, &mock_overhead_observer)); |
+ rtp_sender_->SetTransportOverhead(kTransportOverheadBytesPerPacket); |
+ EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
+ kRtpExtensionTransportSequenceNumber, |
+ kTransportSequenceNumberExtensionId)); |
+ EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) |
+ .WillOnce(testing::Return(kTransportSequenceNumber)); |
+ EXPECT_CALL(feedback_observer_, |
+ AddPacket(kTransportSequenceNumber, |
+ sizeof(kPayloadData) + kGenericHeaderLength + |
+ kRtpOverheadBytesPerPacket + |
+ kTransportOverheadBytesPerPacket, |
+ PacketInfo::kNotAProbe)) |
+ .Times(1); |
minyue-webrtc
2016/11/29 09:24:35
I am not a fun of Times(1)
According to this
http
michaelt
2016/11/29 09:55:53
If some one don't know this rule its may be a bit
minyue-webrtc
2016/11/29 09:59:49
Ok. I am not very strong on not using Times(1) eit
|
+ EXPECT_CALL(mock_overhead_observer, |
+ OnOverheadChanged(kTransportOverheadBytesPerPacket + |
+ kRtpOverheadBytesPerPacket)) |
+ .Times(1); |
+ SendGenericPayload(); |
+} |
+ |
} // namespace webrtc |