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

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

Issue 2783743003: Making RtpSender tests cover BWE with overhead. (Closed)
Patch Set: Created 3 years, 9 months 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 | « no previous file | 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 6539f736dc3e7ef13d02376b185d87f21f80c213..961b53a139c3901984ee907fc10d491a68210b3a 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc
@@ -132,7 +132,12 @@ class MockTransportFeedbackObserver : public TransportFeedbackObserver {
MOCK_CONST_METHOD0(GetTransportFeedbackVector, std::vector<PacketFeedback>());
};
-class RtpSenderTest : public ::testing::Test {
+class MockOverheadObserver : public OverheadObserver {
+ public:
+ MOCK_METHOD1(OnOverheadChanged, void(size_t overhead_bytes_per_packet));
+};
+
+class RtpSenderTest : public ::testing::TestWithParam<bool> {
protected:
RtpSenderTest()
: fake_clock_(kStartTime),
@@ -142,7 +147,9 @@ class RtpSenderTest : public ::testing::Test {
rtp_sender_(),
payload_(kPayload),
transport_(),
- kMarkerBit(true) {}
+ kMarkerBit(true),
+ field_trials_(GetParam() ? "WebRTC-SendSideBwe-WithOverhead/Enabled/"
+ : "") {}
void SetUp() override { SetUpRtpSender(true); }
@@ -169,6 +176,7 @@ class RtpSenderTest : public ::testing::Test {
int payload_;
LoopbackTransportTest transport_;
const bool kMarkerBit;
+ test::ScopedFieldTrials field_trials_;
void VerifyRTPHeaderCommon(const RTPHeader& rtp_header) {
VerifyRTPHeaderCommon(rtp_header, kMarkerBit, 0);
@@ -247,7 +255,7 @@ class RtpSenderVideoTest : public RtpSenderTest {
std::unique_ptr<RTPSenderVideo> rtp_sender_video_;
};
-TEST_F(RtpSenderTestWithoutPacer, AllocatePacketSetCsrc) {
+TEST_P(RtpSenderTestWithoutPacer, AllocatePacketSetCsrc) {
// Configure rtp_sender with csrc.
std::vector<uint32_t> csrcs;
csrcs.push_back(0x23456789);
@@ -260,7 +268,7 @@ TEST_F(RtpSenderTestWithoutPacer, AllocatePacketSetCsrc) {
EXPECT_EQ(csrcs, packet->Csrcs());
}
-TEST_F(RtpSenderTestWithoutPacer, AllocatePacketReserveExtensions) {
+TEST_P(RtpSenderTestWithoutPacer, AllocatePacketReserveExtensions) {
// Configure rtp_sender with extensions.
ASSERT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
kRtpExtensionTransmissionTimeOffset,
@@ -288,7 +296,7 @@ TEST_F(RtpSenderTestWithoutPacer, AllocatePacketReserveExtensions) {
EXPECT_FALSE(packet->HasExtension<VideoOrientation>());
}
-TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberAdvanceSequenceNumber) {
+TEST_P(RtpSenderTestWithoutPacer, AssignSequenceNumberAdvanceSequenceNumber) {
auto packet = rtp_sender_->AllocatePacket();
ASSERT_TRUE(packet);
const uint16_t sequence_number = rtp_sender_->SequenceNumber();
@@ -299,7 +307,7 @@ TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberAdvanceSequenceNumber) {
EXPECT_EQ(sequence_number + 1, rtp_sender_->SequenceNumber());
}
-TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberFailsOnNotSending) {
+TEST_P(RtpSenderTestWithoutPacer, AssignSequenceNumberFailsOnNotSending) {
auto packet = rtp_sender_->AllocatePacket();
ASSERT_TRUE(packet);
@@ -307,7 +315,7 @@ TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberFailsOnNotSending) {
EXPECT_FALSE(rtp_sender_->AssignSequenceNumber(packet.get()));
}
-TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberMayAllowPadding) {
+TEST_P(RtpSenderTestWithoutPacer, AssignSequenceNumberMayAllowPadding) {
constexpr size_t kPaddingSize = 100;
auto packet = rtp_sender_->AllocatePacket();
ASSERT_TRUE(packet);
@@ -324,7 +332,7 @@ TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberMayAllowPadding) {
EXPECT_TRUE(rtp_sender_->TimeToSendPadding(kPaddingSize, PacedPacketInfo()));
}
-TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberSetPaddingTimestamps) {
+TEST_P(RtpSenderTestWithoutPacer, AssignSequenceNumberSetPaddingTimestamps) {
constexpr size_t kPaddingSize = 100;
auto packet = rtp_sender_->AllocatePacket();
ASSERT_TRUE(packet);
@@ -339,7 +347,37 @@ TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberSetPaddingTimestamps) {
EXPECT_EQ(kTimestamp, transport_.last_sent_packet().Timestamp());
}
-TEST_F(RtpSenderTestWithoutPacer, SendsPacketsWithTransportSequenceNumber) {
+TEST_P(RtpSenderTestWithoutPacer,
+ TransportFeedbackObserverGetsCorrectByteCount) {
minyue-webrtc 2017/03/29 12:00:39 Add a reason whey moving this up: I removed the c
+ constexpr int kRtpOverheadBytesPerPacket = 12 + 8;
+ 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_->SetSSRC(kSsrc);
+ EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
+ kRtpExtensionTransportSequenceNumber,
+ kTransportSequenceNumberExtensionId));
+ EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber())
+ .WillOnce(testing::Return(kTransportSequenceNumber));
+
+ const size_t expected_bytes =
+ GetParam() ? sizeof(kPayloadData) + kGenericHeaderLength +
+ kRtpOverheadBytesPerPacket
+ : sizeof(kPayloadData) + kGenericHeaderLength;
+
+ EXPECT_CALL(feedback_observer_,
+ AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber,
+ expected_bytes, PacedPacketInfo()))
+ .Times(1);
+ EXPECT_CALL(mock_overhead_observer,
+ OnOverheadChanged(kRtpOverheadBytesPerPacket))
+ .Times(1);
+ SendGenericPayload();
+}
+
+TEST_P(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_,
@@ -354,10 +392,10 @@ TEST_F(RtpSenderTestWithoutPacer, SendsPacketsWithTransportSequenceNumber) {
EXPECT_CALL(send_packet_observer_,
OnSendPacket(kTransportSequenceNumber, _, _))
.Times(1);
- EXPECT_CALL(
- feedback_observer_,
- AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber,
- sizeof(kPayloadData) + kGenericHeaderLength, PacedPacketInfo()))
+
+ EXPECT_CALL(feedback_observer_,
+ AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, _,
+ PacedPacketInfo()))
.Times(1);
SendGenericPayload();
@@ -369,11 +407,11 @@ TEST_F(RtpSenderTestWithoutPacer, SendsPacketsWithTransportSequenceNumber) {
EXPECT_EQ(transport_.last_packet_id_, transport_seq_no);
}
-TEST_F(RtpSenderTestWithoutPacer, NoAllocationIfNotRegistered) {
+TEST_P(RtpSenderTestWithoutPacer, NoAllocationIfNotRegistered) {
SendGenericPayload();
}
-TEST_F(RtpSenderTestWithoutPacer, OnSendPacketUpdated) {
+TEST_P(RtpSenderTestWithoutPacer, OnSendPacketUpdated) {
EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
kRtpExtensionTransportSequenceNumber,
kTransportSequenceNumberExtensionId));
@@ -386,7 +424,7 @@ TEST_F(RtpSenderTestWithoutPacer, OnSendPacketUpdated) {
SendGenericPayload();
}
-TEST_F(RtpSenderTest, SendsPacketsWithTransportSequenceNumber) {
+TEST_P(RtpSenderTest, SendsPacketsWithTransportSequenceNumber) {
rtp_sender_.reset(new RTPSender(
false, &fake_clock_, &transport_, &mock_paced_sender_, nullptr,
&seq_num_allocator_, &feedback_observer_, nullptr, nullptr, nullptr,
@@ -405,10 +443,9 @@ TEST_F(RtpSenderTest, SendsPacketsWithTransportSequenceNumber) {
EXPECT_CALL(send_packet_observer_,
OnSendPacket(kTransportSequenceNumber, _, _))
.Times(1);
- EXPECT_CALL(
- feedback_observer_,
- AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber,
- sizeof(kPayloadData) + kGenericHeaderLength, PacedPacketInfo()))
+ EXPECT_CALL(feedback_observer_,
+ AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, _,
+ PacedPacketInfo()))
.Times(1);
SendGenericPayload();
@@ -423,7 +460,7 @@ TEST_F(RtpSenderTest, SendsPacketsWithTransportSequenceNumber) {
EXPECT_EQ(transport_.last_packet_id_, transport_seq_no);
}
-TEST_F(RtpSenderTest, TrafficSmoothingWithExtensions) {
+TEST_P(RtpSenderTest, TrafficSmoothingWithExtensions) {
EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority,
kSsrc, kSeqNum, _, _, _));
EXPECT_CALL(mock_rtc_event_log_,
@@ -468,7 +505,7 @@ TEST_F(RtpSenderTest, TrafficSmoothingWithExtensions) {
EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime);
}
-TEST_F(RtpSenderTest, TrafficSmoothingRetransmits) {
+TEST_P(RtpSenderTest, TrafficSmoothingRetransmits) {
EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority,
kSsrc, kSeqNum, _, _, _));
EXPECT_CALL(mock_rtc_event_log_,
@@ -521,7 +558,7 @@ TEST_F(RtpSenderTest, TrafficSmoothingRetransmits) {
// This test sends 1 regular video packet, then 4 padding packets, and then
// 1 more regular packet.
-TEST_F(RtpSenderTest, SendPadding) {
+TEST_P(RtpSenderTest, SendPadding) {
// Make all (non-padding) packets go to send queue.
EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority,
kSsrc, kSeqNum, _, _, _));
@@ -629,7 +666,7 @@ TEST_F(RtpSenderTest, SendPadding) {
EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime);
}
-TEST_F(RtpSenderTest, OnSendPacketUpdated) {
+TEST_P(RtpSenderTest, OnSendPacketUpdated) {
EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
kRtpExtensionTransportSequenceNumber,
kTransportSequenceNumberExtensionId));
@@ -651,7 +688,7 @@ TEST_F(RtpSenderTest, OnSendPacketUpdated) {
EXPECT_EQ(1, transport_.packets_sent());
}
-TEST_F(RtpSenderTest, OnSendPacketNotUpdatedForRetransmits) {
+TEST_P(RtpSenderTest, OnSendPacketNotUpdatedForRetransmits) {
EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
kRtpExtensionTransportSequenceNumber,
kTransportSequenceNumberExtensionId));
@@ -671,7 +708,7 @@ TEST_F(RtpSenderTest, OnSendPacketNotUpdatedForRetransmits) {
EXPECT_EQ(1, transport_.packets_sent());
}
-TEST_F(RtpSenderTest, OnSendPacketNotUpdatedWithoutSeqNumAllocator) {
+TEST_P(RtpSenderTest, OnSendPacketNotUpdatedWithoutSeqNumAllocator) {
rtp_sender_.reset(new RTPSender(
false, &fake_clock_, &transport_, &mock_paced_sender_, nullptr,
nullptr /* TransportSequenceNumberAllocator */, nullptr, nullptr, nullptr,
@@ -697,7 +734,7 @@ TEST_F(RtpSenderTest, OnSendPacketNotUpdatedWithoutSeqNumAllocator) {
EXPECT_EQ(1, transport_.packets_sent());
}
-TEST_F(RtpSenderTest, SendRedundantPayloads) {
+TEST_P(RtpSenderTest, SendRedundantPayloads) {
MockTransport transport;
rtp_sender_.reset(new RTPSender(
false, &fake_clock_, &transport, &mock_paced_sender_, nullptr, nullptr,
@@ -766,7 +803,7 @@ TEST_F(RtpSenderTest, SendRedundantPayloads) {
rtp_sender_->TimeToSendPadding(999, PacedPacketInfo()));
}
-TEST_F(RtpSenderTestWithoutPacer, SendGenericVideo) {
+TEST_P(RtpSenderTestWithoutPacer, SendGenericVideo) {
char payload_name[RTP_PAYLOAD_NAME_SIZE] = "GENERIC";
const uint8_t payload_type = 127;
ASSERT_EQ(0, rtp_sender_->RegisterPayload(payload_name, payload_type, 90000,
@@ -800,7 +837,7 @@ TEST_F(RtpSenderTestWithoutPacer, SendGenericVideo) {
EXPECT_THAT(sent_payload.subview(1), ElementsAreArray(payload));
}
-TEST_F(RtpSenderTest, SendFlexfecPackets) {
+TEST_P(RtpSenderTest, SendFlexfecPackets) {
constexpr int kMediaPayloadType = 127;
constexpr int kFlexfecPayloadType = 118;
constexpr uint32_t kMediaSsrc = 1234;
@@ -855,7 +892,7 @@ TEST_F(RtpSenderTest, SendFlexfecPackets) {
EXPECT_EQ(kFlexfecSsrc, flexfec_packet.Ssrc());
}
-TEST_F(RtpSenderTestWithoutPacer, SendFlexfecPackets) {
+TEST_P(RtpSenderTestWithoutPacer, SendFlexfecPackets) {
constexpr int kMediaPayloadType = 127;
constexpr int kFlexfecPayloadType = 118;
constexpr uint32_t kMediaSsrc = 1234;
@@ -894,7 +931,7 @@ TEST_F(RtpSenderTestWithoutPacer, SendFlexfecPackets) {
EXPECT_EQ(kFlexfecSsrc, flexfec_packet.Ssrc());
}
-TEST_F(RtpSenderTest, FecOverheadRate) {
+TEST_P(RtpSenderTest, FecOverheadRate) {
constexpr int kMediaPayloadType = 127;
constexpr int kFlexfecPayloadType = 118;
constexpr uint32_t kMediaSsrc = 1234;
@@ -940,7 +977,7 @@ TEST_F(RtpSenderTest, FecOverheadRate) {
rtp_sender_->FecOverheadRate(), 500);
}
-TEST_F(RtpSenderTest, FrameCountCallbacks) {
+TEST_P(RtpSenderTest, FrameCountCallbacks) {
class TestCallback : public FrameCountObserver {
public:
TestCallback() : FrameCountObserver(), num_calls_(0), ssrc_(0) {}
@@ -995,7 +1032,7 @@ TEST_F(RtpSenderTest, FrameCountCallbacks) {
rtp_sender_.reset();
}
-TEST_F(RtpSenderTest, BitrateCallbacks) {
+TEST_P(RtpSenderTest, BitrateCallbacks) {
class TestCallback : public BitrateStatisticsObserver {
public:
TestCallback()
@@ -1088,7 +1125,7 @@ class RtpSenderAudioTest : public RtpSenderTest {
}
};
-TEST_F(RtpSenderTestWithoutPacer, StreamDataCountersCallbacks) {
+TEST_P(RtpSenderTestWithoutPacer, StreamDataCountersCallbacks) {
class TestCallback : public StreamDataCountersCallback {
public:
TestCallback() : StreamDataCountersCallback(), ssrc_(0), counters_() {}
@@ -1186,7 +1223,7 @@ TEST_F(RtpSenderTestWithoutPacer, StreamDataCountersCallbacks) {
rtp_sender_->RegisterRtpStatisticsCallback(nullptr);
}
-TEST_F(RtpSenderAudioTest, SendAudio) {
+TEST_P(RtpSenderAudioTest, SendAudio) {
char payload_name[RTP_PAYLOAD_NAME_SIZE] = "PAYLOAD_NAME";
const uint8_t payload_type = 127;
ASSERT_EQ(0, rtp_sender_->RegisterPayload(payload_name, payload_type, 48000,
@@ -1201,7 +1238,7 @@ TEST_F(RtpSenderAudioTest, SendAudio) {
EXPECT_THAT(sent_payload, ElementsAreArray(payload));
}
-TEST_F(RtpSenderAudioTest, SendAudioWithAudioLevelExtension) {
+TEST_P(RtpSenderAudioTest, SendAudioWithAudioLevelExtension) {
EXPECT_EQ(0, rtp_sender_->SetAudioLevel(kAudioLevel));
EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAudioLevel,
kAudioLevelExtensionId));
@@ -1233,7 +1270,7 @@ TEST_F(RtpSenderAudioTest, SendAudioWithAudioLevelExtension) {
// This test checks the marker bit for the first packet and the consequent
// packets of the same telephone event. Since it is specifically for DTMF
// events, ignoring audio packets and sending kEmptyFrame instead of those.
-TEST_F(RtpSenderAudioTest, CheckMarkerBitForTelephoneEvents) {
+TEST_P(RtpSenderAudioTest, CheckMarkerBitForTelephoneEvents) {
const char* kDtmfPayloadName = "telephone-event";
const uint32_t kPayloadFrequency = 8000;
const uint8_t kPayloadType = 126;
@@ -1271,7 +1308,7 @@ TEST_F(RtpSenderAudioTest, CheckMarkerBitForTelephoneEvents) {
EXPECT_FALSE(transport_.last_sent_packet().Marker());
}
-TEST_F(RtpSenderTestWithoutPacer, BytesReportedCorrectly) {
+TEST_P(RtpSenderTestWithoutPacer, BytesReportedCorrectly) {
const char* kPayloadName = "GENERIC";
const uint8_t kPayloadType = 127;
rtp_sender_->SetSSRC(1234);
@@ -1318,7 +1355,7 @@ TEST_F(RtpSenderTestWithoutPacer, BytesReportedCorrectly) {
rtp_stats.transmitted.TotalBytes() + rtx_stats.transmitted.TotalBytes());
}
-TEST_F(RtpSenderTestWithoutPacer, RespectsNackBitrateLimit) {
+TEST_P(RtpSenderTestWithoutPacer, RespectsNackBitrateLimit) {
const int32_t kPacketSize = 1400;
const int32_t kNumPackets = 30;
@@ -1350,7 +1387,7 @@ TEST_F(RtpSenderTestWithoutPacer, RespectsNackBitrateLimit) {
EXPECT_EQ(kNumPackets * 2, transport_.packets_sent());
}
-TEST_F(RtpSenderVideoTest, KeyFrameHasCVO) {
+TEST_P(RtpSenderVideoTest, KeyFrameHasCVO) {
uint8_t kFrame[kMaxPacketLength];
EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
kRtpExtensionVideoRotation, kVideoRotationExtensionId));
@@ -1367,7 +1404,7 @@ TEST_F(RtpSenderVideoTest, KeyFrameHasCVO) {
EXPECT_EQ(kVideoRotation_0, rotation);
}
-TEST_F(RtpSenderVideoTest, DeltaFrameHasCVOWhenChanged) {
+TEST_P(RtpSenderVideoTest, DeltaFrameHasCVOWhenChanged) {
uint8_t kFrame[kMaxPacketLength];
EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
kRtpExtensionVideoRotation, kVideoRotationExtensionId));
@@ -1389,7 +1426,7 @@ TEST_F(RtpSenderVideoTest, DeltaFrameHasCVOWhenChanged) {
EXPECT_EQ(kVideoRotation_0, rotation);
}
-TEST_F(RtpSenderVideoTest, DeltaFrameHasCVOWhenNonZero) {
+TEST_P(RtpSenderVideoTest, DeltaFrameHasCVOWhenNonZero) {
uint8_t kFrame[kMaxPacketLength];
EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
kRtpExtensionVideoRotation, kVideoRotationExtensionId));
@@ -1412,7 +1449,7 @@ TEST_F(RtpSenderVideoTest, DeltaFrameHasCVOWhenNonZero) {
// Make sure rotation is parsed correctly when the Camera (C) and Flip (F) bits
// are set in the CVO byte.
-TEST_F(RtpSenderVideoTest, SendVideoWithCameraAndFlipCVO) {
+TEST_P(RtpSenderVideoTest, SendVideoWithCameraAndFlipCVO) {
// Test extracting rotation when Camera (C) and Flip (F) bits are zero.
EXPECT_EQ(kVideoRotation_0, ConvertCVOByteToVideoRotation(0));
EXPECT_EQ(kVideoRotation_90, ConvertCVOByteToVideoRotation(1));
@@ -1431,14 +1468,7 @@ TEST_F(RtpSenderVideoTest, SendVideoWithCameraAndFlipCVO) {
ConvertCVOByteToVideoRotation(flip_bit | camera_bit | 3));
}
-namespace {
-class MockOverheadObserver : public OverheadObserver {
danilchap 2017/03/29 10:49:11 you already have this Mock defined above.
minyue-webrtc 2017/03/29 12:00:39 I think I just moved it above
danilchap 2017/03/29 12:40:59 oops, sorry, got confused between 'old code' and '
minyue-webrtc 2017/04/03 07:12:52 NP, I sometimes get the exactly same confusion.
- public:
- MOCK_METHOD1(OnOverheadChanged, void(size_t overhead_bytes_per_packet));
-};
-} // namespace
-
-TEST_F(RtpSenderTest, OnOverheadChanged) {
+TEST_P(RtpSenderTest, OnOverheadChanged) {
MockOverheadObserver mock_overhead_observer;
rtp_sender_.reset(
new RTPSender(false, &fake_clock_, &transport_, nullptr, nullptr, nullptr,
@@ -1459,7 +1489,7 @@ TEST_F(RtpSenderTest, OnOverheadChanged) {
SendGenericPayload();
}
-TEST_F(RtpSenderTest, DoesNotUpdateOverheadOnEqualSize) {
+TEST_P(RtpSenderTest, DoesNotUpdateOverheadOnEqualSize) {
MockOverheadObserver mock_overhead_observer;
rtp_sender_.reset(
new RTPSender(false, &fake_clock_, &transport_, nullptr, nullptr, nullptr,
@@ -1472,34 +1502,7 @@ TEST_F(RtpSenderTest, DoesNotUpdateOverheadOnEqualSize) {
SendGenericPayload();
}
-TEST_F(RtpSenderTest, AddOverheadToTransportFeedbackObserver) {
- 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_->SetSSRC(kSsrc);
- EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
- kRtpExtensionTransportSequenceNumber,
- kTransportSequenceNumberExtensionId));
- EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber())
- .WillOnce(testing::Return(kTransportSequenceNumber));
- EXPECT_CALL(feedback_observer_,
- AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber,
- sizeof(kPayloadData) + kGenericHeaderLength +
- kRtpOverheadBytesPerPacket,
- PacedPacketInfo()))
- .Times(1);
- EXPECT_CALL(mock_overhead_observer,
- OnOverheadChanged(kRtpOverheadBytesPerPacket))
- .Times(1);
- SendGenericPayload();
-}
-
-TEST_F(RtpSenderTest, SendAudioPadding) {
+TEST_P(RtpSenderTest, SendAudioPadding) {
MockTransport transport;
const bool kEnableAudio = true;
rtp_sender_.reset(new RTPSender(
@@ -1525,4 +1528,17 @@ TEST_F(RtpSenderTest, SendAudioPadding) {
kMinPaddingSize,
rtp_sender_->TimeToSendPadding(kMinPaddingSize - 5, PacedPacketInfo()));
}
+
+INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead,
+ RtpSenderTest,
+ ::testing::Bool());
+INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead,
+ RtpSenderTestWithoutPacer,
+ ::testing::Bool());
+INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead,
+ RtpSenderVideoTest,
+ ::testing::Bool());
+INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead,
+ RtpSenderAudioTest,
+ ::testing::Bool());
} // namespace webrtc
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698