Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Unified Diff: webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc

Issue 2525283002: Add overhead to transport feedback observer. (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..25e214eae7152fbf84301642ea49dd27362df182 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,49 @@ 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/");
+ MockOverheadObserver mock_overhead_observer;
+ 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_, &mock_overhead_observer));
+ rtp_sender_->SetSequenceNumber(kSeqNum);
+ rtp_sender_->SetSSRC(kSsrc);
+ rtp_sender_->SetStorePacketsStatus(true, 10);
+ EXPECT_CALL(mock_overhead_observer,
+ OnOverheadChanged(kTransportOverheadBytesPerPacket))
+ .Times(1);
+ rtp_sender_->SetTransportOverhead(kTransportOverheadBytesPerPacket);
+ EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
+ kRtpExtensionTransportSequenceNumber,
+ kTransportSequenceNumberExtensionId));
+
+ EXPECT_CALL(mock_paced_sender_, InsertPacket(_, kSsrc, kSeqNum, _, _, _));
+ EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber())
+ .WillOnce(testing::Return(kTransportSequenceNumber));
+ EXPECT_CALL(send_packet_observer_,
+ OnSendPacket(kTransportSequenceNumber, _, _))
+ .Times(1);
stefan-webrtc 2016/11/28 15:21:11 Seems like we can skip most of these EXPECT_CALLs,
michaelt 2016/11/29 08:22:52 There is still som preparation needed but i could
+ const int kProbeClusterId = 1;
+ EXPECT_CALL(feedback_observer_,
+ AddPacket(kTransportSequenceNumber,
+ sizeof(kPayloadData) + kGenericHeaderLength +
+ kRtpOverheadBytesPerPacket +
+ kTransportOverheadBytesPerPacket,
+ kProbeClusterId))
+ .Times(1);
+ EXPECT_CALL(mock_overhead_observer,
+ OnOverheadChanged(kTransportOverheadBytesPerPacket +
+ kRtpOverheadBytesPerPacket))
+ .Times(1);
+ SendGenericPayload();
+ rtp_sender_->TimeToSendPacket(
+ kSsrc, kSeqNum, fake_clock_.TimeInMilliseconds(), false, kProbeClusterId);
+}
+
} // namespace webrtc
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698