@@ -143,10 +143,8 @@ MATCHER_P(SameRtcEventTypeAs, value, "") {
143
143
}
144
144
145
145
struct TestConfig {
146
- TestConfig (bool with_overhead, bool deferred_fec)
147
- : with_overhead(with_overhead), deferred_fec(deferred_fec) {}
146
+ explicit TestConfig (bool with_overhead) : with_overhead(with_overhead) {}
148
147
bool with_overhead = false ;
149
- bool deferred_fec = false ;
150
148
};
151
149
152
150
class MockRtpPacketPacer : public RtpPacketSender {
@@ -283,12 +281,10 @@ class FieldTrialConfig : public WebRtcKeyValueConfig {
283
281
public:
284
282
FieldTrialConfig ()
285
283
: overhead_enabled_(false ),
286
- deferred_fec_ (false ),
287
284
max_padding_factor_ (1200 ) {}
288
285
~FieldTrialConfig () override {}
289
286
290
287
void SetOverHeadEnabled (bool enabled) { overhead_enabled_ = enabled; }
291
- void UseDeferredFec (bool enabled) { deferred_fec_ = enabled; }
292
288
void SetMaxPaddingFactor (double factor) { max_padding_factor_ = factor; }
293
289
294
290
std::string Lookup (absl::string_view key) const override {
@@ -299,15 +295,12 @@ class FieldTrialConfig : public WebRtcKeyValueConfig {
299
295
return ssb.str ();
300
296
} else if (key == " WebRTC-SendSideBwe-WithOverhead" ) {
301
297
return overhead_enabled_ ? " Enabled" : " Disabled" ;
302
- } else if (key == " WebRTC-DeferredFecGeneration" ) {
303
- return deferred_fec_ ? " Enabled" : " Disabled" ;
304
298
}
305
299
return " " ;
306
300
}
307
301
308
302
private:
309
303
bool overhead_enabled_;
310
- bool deferred_fec_;
311
304
double max_padding_factor_;
312
305
};
313
306
@@ -329,7 +322,6 @@ class RtpSenderTest : public ::testing::TestWithParam<TestConfig> {
329
322
clock_),
330
323
kMarkerBit(true ) {
331
324
field_trials_.SetOverHeadEnabled (GetParam ().with_overhead );
332
- field_trials_.UseDeferredFec (GetParam ().deferred_fec );
333
325
}
334
326
335
327
void SetUp () override { SetUpRtpSender (true , false , false ); }
@@ -1339,9 +1331,6 @@ TEST_P(RtpSenderTest, SendFlexfecPackets) {
1339
1331
RTPSenderVideo::Config video_config;
1340
1332
video_config.clock = clock_;
1341
1333
video_config.rtp_sender = rtp_sender ();
1342
- if (!GetParam ().deferred_fec ) {
1343
- video_config.fec_generator = &flexfec_sender;
1344
- }
1345
1334
video_config.fec_type = flexfec_sender.GetFecType ();
1346
1335
video_config.fec_overhead_bytes = flexfec_sender.MaxPacketOverhead ();
1347
1336
video_config.fec_type = flexfec_sender.GetFecType ();
@@ -1369,7 +1358,7 @@ TEST_P(RtpSenderTest, SendFlexfecPackets) {
1369
1358
EXPECT_EQ (packet->Ssrc (), kSsrc );
1370
1359
EXPECT_EQ (packet->SequenceNumber (), kSeqNum );
1371
1360
media_packet = std::move (packet);
1372
- if ( GetParam (). deferred_fec ) {
1361
+
1373
1362
// Simulate RtpSenderEgress adding packet to fec generator.
1374
1363
flexfec_sender.AddPacketAndGenerateFec (*media_packet);
1375
1364
auto fec_packets = flexfec_sender.GetFecPackets ();
@@ -1378,7 +1367,6 @@ TEST_P(RtpSenderTest, SendFlexfecPackets) {
1378
1367
EXPECT_EQ (fec_packet->packet_type (),
1379
1368
RtpPacketMediaType::kForwardErrorCorrection );
1380
1369
EXPECT_EQ (fec_packet->Ssrc (), kFlexFecSsrc );
1381
- }
1382
1370
} else {
1383
1371
EXPECT_EQ (packet->packet_type (),
1384
1372
RtpPacketMediaType::kForwardErrorCorrection );
@@ -1440,9 +1428,6 @@ TEST_P(RtpSenderTestWithoutPacer, SendFlexfecPackets) {
1440
1428
RTPSenderVideo::Config video_config;
1441
1429
video_config.clock = clock_;
1442
1430
video_config.rtp_sender = rtp_sender ();
1443
- if (!GetParam ().deferred_fec ) {
1444
- video_config.fec_generator = &flexfec_sender;
1445
- }
1446
1431
video_config.fec_type = flexfec_sender.GetFecType ();
1447
1432
video_config.fec_overhead_bytes = flexfec_sender_.MaxPacketOverhead ();
1448
1433
video_config.field_trials = &field_trials;
@@ -1453,11 +1438,7 @@ TEST_P(RtpSenderTestWithoutPacer, SendFlexfecPackets) {
1453
1438
params.fec_rate = 15 ;
1454
1439
params.max_fec_frames = 1 ;
1455
1440
params.fec_mask_type = kFecMaskRandom ;
1456
- if (GetParam ().deferred_fec ) {
1457
- rtp_egress ()->SetFecProtectionParameters (params, params);
1458
- } else {
1459
- flexfec_sender.SetProtectionParameters (params, params);
1460
- }
1441
+ rtp_egress ()->SetFecProtectionParameters (params, params);
1461
1442
1462
1443
EXPECT_CALL (mock_rtc_event_log_,
1463
1444
LogProxy (SameRtcEventTypeAs (RtcEvent::Type::RtpPacketOutgoing)))
@@ -1768,9 +1749,6 @@ TEST_P(RtpSenderTest, FecOverheadRate) {
1768
1749
RTPSenderVideo::Config video_config;
1769
1750
video_config.clock = clock_;
1770
1751
video_config.rtp_sender = rtp_sender ();
1771
- if (!GetParam ().deferred_fec ) {
1772
- video_config.fec_generator = &flexfec_sender;
1773
- }
1774
1752
video_config.fec_type = flexfec_sender.GetFecType ();
1775
1753
video_config.fec_overhead_bytes = flexfec_sender.MaxPacketOverhead ();
1776
1754
video_config.field_trials = &field_trials;
@@ -1780,11 +1758,7 @@ TEST_P(RtpSenderTest, FecOverheadRate) {
1780
1758
params.fec_rate = 15 ;
1781
1759
params.max_fec_frames = 1 ;
1782
1760
params.fec_mask_type = kFecMaskRandom ;
1783
- if (GetParam ().deferred_fec ) {
1784
- rtp_egress ()->SetFecProtectionParameters (params, params);
1785
- } else {
1786
- flexfec_sender.SetProtectionParameters (params, params);
1787
- }
1761
+ rtp_egress ()->SetFecProtectionParameters (params, params);
1788
1762
1789
1763
constexpr size_t kNumMediaPackets = 10 ;
1790
1764
constexpr size_t kNumFecPackets = kNumMediaPackets ;
@@ -1806,19 +1780,13 @@ TEST_P(RtpSenderTest, FecOverheadRate) {
1806
1780
constexpr size_t kPacketLength = kRtpHeaderLength + kFlexfecHeaderLength +
1807
1781
kGenericCodecHeaderLength + kPayloadLength ;
1808
1782
1809
- if (GetParam ().deferred_fec ) {
1810
1783
EXPECT_NEAR (
1811
1784
kNumFecPackets * kPacketLength * 8 /
1812
1785
(kNumFecPackets * kTimeBetweenPacketsMs / 1000 .0f ),
1813
1786
rtp_egress ()
1814
1787
->GetSendRates ()[RtpPacketMediaType::kForwardErrorCorrection ]
1815
1788
.bps <double >(),
1816
1789
500 );
1817
- } else {
1818
- EXPECT_NEAR (kNumFecPackets * kPacketLength * 8 /
1819
- (kNumFecPackets * kTimeBetweenPacketsMs / 1000 .0f ),
1820
- flexfec_sender.CurrentFecRate ().bps <double >(), 500 );
1821
- }
1822
1790
}
1823
1791
1824
1792
TEST_P (RtpSenderTest, BitrateCallbacks) {
@@ -1970,9 +1938,6 @@ TEST_P(RtpSenderTestWithoutPacer, StreamDataCountersCallbacksUlpfec) {
1970
1938
video_config.rtp_sender = rtp_sender ();
1971
1939
video_config.field_trials = &field_trials_;
1972
1940
video_config.red_payload_type = kRedPayloadType ;
1973
- if (!GetParam ().deferred_fec ) {
1974
- video_config.fec_generator = &ulpfec_generator;
1975
- }
1976
1941
video_config.fec_type = ulpfec_generator.GetFecType ();
1977
1942
video_config.fec_overhead_bytes = ulpfec_generator.MaxPacketOverhead ();
1978
1943
RTPSenderVideo rtp_sender_video (video_config);
@@ -1989,11 +1954,7 @@ TEST_P(RtpSenderTestWithoutPacer, StreamDataCountersCallbacksUlpfec) {
1989
1954
fec_params.fec_mask_type = kFecMaskRandom ;
1990
1955
fec_params.fec_rate = 1 ;
1991
1956
fec_params.max_fec_frames = 1 ;
1992
- if (GetParam ().deferred_fec ) {
1993
- rtp_egress ()->SetFecProtectionParameters (fec_params, fec_params);
1994
- } else {
1995
- ulpfec_generator.SetProtectionParameters (fec_params, fec_params);
1996
- }
1957
+ rtp_egress ()->SetFecProtectionParameters (fec_params, fec_params);
1997
1958
video_header.frame_type = VideoFrameType::kVideoFrameDelta ;
1998
1959
ASSERT_TRUE (rtp_sender_video.SendVideo (kPayloadType , kCodecType , 1234 , 4321 ,
1999
1960
payload, video_header,
@@ -2823,11 +2784,6 @@ TEST_P(RtpSenderTest, IgnoresNackAfterDisablingMedia) {
2823
2784
}
2824
2785
2825
2786
TEST_P (RtpSenderTest, DoesntFecProtectRetransmissions) {
2826
- if (!GetParam ().deferred_fec ) {
2827
- // This test make sense only for deferred fec generation.
2828
- return ;
2829
- }
2830
-
2831
2787
// Set up retranmission without RTX, so that a plain copy of the old packet is
2832
2788
// re-sent instead.
2833
2789
const int64_t kRtt = 10 ;
@@ -2864,16 +2820,12 @@ TEST_P(RtpSenderTest, DoesntFecProtectRetransmissions) {
2864
2820
2865
2821
INSTANTIATE_TEST_SUITE_P (WithAndWithoutOverhead,
2866
2822
RtpSenderTest,
2867
- ::testing::Values (TestConfig{false , false },
2868
- TestConfig{false , true },
2869
- TestConfig{true , false },
2870
- TestConfig{false , false }));
2823
+ ::testing::Values (TestConfig{false },
2824
+ TestConfig{true }));
2871
2825
2872
2826
INSTANTIATE_TEST_SUITE_P (WithAndWithoutOverhead,
2873
2827
RtpSenderTestWithoutPacer,
2874
- ::testing::Values (TestConfig{false , false },
2875
- TestConfig{false , true },
2876
- TestConfig{true , false },
2877
- TestConfig{false , false }));
2828
+ ::testing::Values (TestConfig{false },
2829
+ TestConfig{true }));
2878
2830
2879
2831
} // namespace webrtc
0 commit comments