Stop overriding extensions in rampup tests
Instead, ensure extensions are registered so that both transport and send streams are aware.
Bug: webrtc:7135,webrtc:14795,b/266658815
Change-Id: I7710113893e2c5e23c1365de6aa3b761e3408308
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291333
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39193}
diff --git a/call/rampup_tests.cc b/call/rampup_tests.cc
index c2848b4..3c89670 100644
--- a/call/rampup_tests.cc
+++ b/call/rampup_tests.cc
@@ -65,7 +65,6 @@
size_t num_flexfec_streams,
unsigned int start_bitrate_bps,
int64_t min_run_time_ms,
- absl::string_view extension_type,
bool rtx,
bool red,
bool report_perf_stats,
@@ -87,7 +86,6 @@
expected_bitrate_bps_(0),
test_start_ms_(-1),
ramp_up_finished_ms_(-1),
- extension_type_(extension_type),
video_ssrcs_(GenerateSsrcs(num_video_streams_, 100)),
video_rtx_ssrcs_(GenerateSsrcs(num_video_streams_, 200)),
audio_ssrcs_(GenerateSsrcs(num_audio_streams_, 300)),
@@ -176,19 +174,6 @@
}
}
- send_config->rtp.extensions.clear();
-
- if (extension_type_ == RtpExtension::kAbsSendTimeUri) {
- send_config->rtp.extensions.push_back(
- RtpExtension(extension_type_.c_str(), kAbsSendTimeExtensionId));
- } else if (extension_type_ == RtpExtension::kTransportSequenceNumberUri) {
- send_config->rtp.extensions.push_back(RtpExtension(
- extension_type_.c_str(), kTransportSequenceNumberExtensionId));
- } else {
- send_config->rtp.extensions.push_back(RtpExtension(
- extension_type_.c_str(), kTransmissionTimeOffsetExtensionId));
- }
-
send_config->rtp.nack.rtp_history_ms = test::CallTest::kNackRtpHistoryMs;
send_config->rtp.ssrcs = video_ssrcs_;
if (rtx_) {
@@ -207,7 +192,6 @@
size_t i = 0;
for (VideoReceiveStreamInterface::Config& recv_config : *receive_configs) {
- recv_config.rtp.extensions = send_config->rtp.extensions;
recv_config.decoders.reserve(1);
recv_config.decoders[0].payload_type = send_config->rtp.payload_type;
recv_config.decoders[0].video_format =
@@ -251,24 +235,11 @@
if (num_audio_streams_ == 0)
return;
- EXPECT_NE(RtpExtension::kTimestampOffsetUri, extension_type_)
- << "Audio BWE not supported with toffset.";
- EXPECT_NE(RtpExtension::kAbsSendTimeUri, extension_type_)
- << "Audio BWE not supported with abs-send-time.";
-
send_config->rtp.ssrc = audio_ssrcs_[0];
- send_config->rtp.extensions.clear();
-
send_config->min_bitrate_bps = 6000;
send_config->max_bitrate_bps = 60000;
- if (extension_type_ == RtpExtension::kTransportSequenceNumberUri) {
- send_config->rtp.extensions.push_back(RtpExtension(
- extension_type_.c_str(), kTransportSequenceNumberExtensionId));
- }
-
for (AudioReceiveStreamInterface::Config& recv_config : *receive_configs) {
- recv_config.rtp.extensions = send_config->rtp.extensions;
recv_config.rtp.remote_ssrc = send_config->rtp.ssrc;
}
}
@@ -282,13 +253,6 @@
(*receive_configs)[0].rtp.remote_ssrc = test::CallTest::kFlexfecSendSsrc;
(*receive_configs)[0].protected_media_ssrcs = {video_ssrcs_[0]};
(*receive_configs)[0].rtp.local_ssrc = video_ssrcs_[0];
- if (extension_type_ == RtpExtension::kAbsSendTimeUri) {
- (*receive_configs)[0].rtp.extensions.push_back(
- RtpExtension(extension_type_.c_str(), kAbsSendTimeExtensionId));
- } else if (extension_type_ == RtpExtension::kTransportSequenceNumberUri) {
- (*receive_configs)[0].rtp.extensions.push_back(RtpExtension(
- extension_type_.c_str(), kTransportSequenceNumberExtensionId));
- }
}
void RampUpTester::OnCallsCreated(Call* sender_call, Call* receiver_call) {
@@ -417,7 +381,6 @@
size_t num_audio_streams,
size_t num_flexfec_streams,
unsigned int start_bitrate_bps,
- absl::string_view extension_type,
bool rtx,
bool red,
const std::vector<int>& loss_rates,
@@ -428,7 +391,6 @@
num_flexfec_streams,
start_bitrate_bps,
0,
- extension_type,
rtx,
red,
report_perf_stats,
@@ -627,8 +589,9 @@
TEST_F(RampUpTest, UpDownUpAbsSendTimeSimulcastRedRtx) {
std::vector<int> loss_rates = {0, 0, 0, 0};
- RampUpDownUpTester test(3, 0, 0, kStartBitrateBps,
- RtpExtension::kAbsSendTimeUri, true, true, loss_rates,
+ RegisterRtpExtension(
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeExtensionId));
+ RampUpDownUpTester test(3, 0, 0, kStartBitrateBps, true, true, loss_rates,
true, task_queue());
RunBaseTest(&test);
}
@@ -643,9 +606,10 @@
#endif
TEST_F(RampUpTest, MAYBE_UpDownUpTransportSequenceNumberRtx) {
std::vector<int> loss_rates = {0, 0, 0, 0};
- RampUpDownUpTester test(3, 0, 0, kStartBitrateBps,
- RtpExtension::kTransportSequenceNumberUri, true,
- false, loss_rates, true, task_queue());
+ RegisterRtpExtension(RtpExtension(RtpExtension::kTransportSequenceNumberUri,
+ kTransportSequenceNumberExtensionId));
+ RampUpDownUpTester test(3, 0, 0, kStartBitrateBps, true, false, loss_rates,
+ true, task_queue());
RunBaseTest(&test);
}
@@ -655,9 +619,10 @@
// platforms. See: crbug.com/webrtc/7919
TEST_F(RampUpTest, DISABLED_UpDownUpTransportSequenceNumberPacketLoss) {
std::vector<int> loss_rates = {20, 0, 0, 0};
- RampUpDownUpTester test(1, 0, 1, kStartBitrateBps,
- RtpExtension::kTransportSequenceNumberUri, true,
- false, loss_rates, false, task_queue());
+ RegisterRtpExtension(RtpExtension(RtpExtension::kTransportSequenceNumberUri,
+ kTransportSequenceNumberExtensionId));
+ RampUpDownUpTester test(1, 0, 1, kStartBitrateBps, true, false, loss_rates,
+ false, task_queue());
RunBaseTest(&test);
}
@@ -671,60 +636,68 @@
#endif
TEST_F(RampUpTest, MAYBE_UpDownUpAudioVideoTransportSequenceNumberRtx) {
std::vector<int> loss_rates = {0, 0, 0, 0};
- RampUpDownUpTester test(3, 1, 0, kStartBitrateBps,
- RtpExtension::kTransportSequenceNumberUri, true,
- false, loss_rates, false, task_queue());
+ RegisterRtpExtension(RtpExtension(RtpExtension::kTransportSequenceNumberUri,
+ kTransportSequenceNumberExtensionId));
+ RampUpDownUpTester test(3, 1, 0, kStartBitrateBps, true, false, loss_rates,
+ false, task_queue());
RunBaseTest(&test);
}
TEST_F(RampUpTest, UpDownUpAudioTransportSequenceNumberRtx) {
std::vector<int> loss_rates = {0, 0, 0, 0};
- RampUpDownUpTester test(0, 1, 0, kStartBitrateBps,
- RtpExtension::kTransportSequenceNumberUri, true,
- false, loss_rates, false, task_queue());
+ RegisterRtpExtension(RtpExtension(RtpExtension::kTransportSequenceNumberUri,
+ kTransportSequenceNumberExtensionId));
+ RampUpDownUpTester test(0, 1, 0, kStartBitrateBps, true, false, loss_rates,
+ false, task_queue());
RunBaseTest(&test);
}
TEST_F(RampUpTest, TOffsetSimulcastRedRtx) {
- RampUpTester test(3, 0, 0, 0, 0, RtpExtension::kTimestampOffsetUri, true,
- true, true, task_queue());
+ RegisterRtpExtension(RtpExtension(RtpExtension::kTimestampOffsetUri,
+ kTransmissionTimeOffsetExtensionId));
+ RampUpTester test(3, 0, 0, 0, 0, true, true, true, task_queue());
RunBaseTest(&test);
}
TEST_F(RampUpTest, AbsSendTime) {
- RampUpTester test(1, 0, 0, 0, 0, RtpExtension::kAbsSendTimeUri, false, false,
- false, task_queue());
+ RegisterRtpExtension(
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeExtensionId));
+ RampUpTester test(1, 0, 0, 0, 0, false, false, false, task_queue());
RunBaseTest(&test);
}
TEST_F(RampUpTest, AbsSendTimeSimulcastRedRtx) {
- RampUpTester test(3, 0, 0, 0, 0, RtpExtension::kAbsSendTimeUri, true, true,
- true, task_queue());
+ RegisterRtpExtension(
+ RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeExtensionId));
+ RampUpTester test(3, 0, 0, 0, 0, true, true, true, task_queue());
RunBaseTest(&test);
}
TEST_F(RampUpTest, TransportSequenceNumber) {
- RampUpTester test(1, 0, 0, 0, 0, RtpExtension::kTransportSequenceNumberUri,
- false, false, false, task_queue());
+ RegisterRtpExtension(RtpExtension(RtpExtension::kTransportSequenceNumberUri,
+ kTransportSequenceNumberExtensionId));
+ RampUpTester test(1, 0, 0, 0, 0, false, false, false, task_queue());
RunBaseTest(&test);
}
TEST_F(RampUpTest, TransportSequenceNumberSimulcast) {
- RampUpTester test(3, 0, 0, 0, 0, RtpExtension::kTransportSequenceNumberUri,
- false, false, false, task_queue());
+ RegisterRtpExtension(RtpExtension(RtpExtension::kTransportSequenceNumberUri,
+ kTransportSequenceNumberExtensionId));
+ RampUpTester test(3, 0, 0, 0, 0, false, false, false, task_queue());
RunBaseTest(&test);
}
TEST_F(RampUpTest, TransportSequenceNumberSimulcastRedRtx) {
- RampUpTester test(3, 0, 0, 0, 0, RtpExtension::kTransportSequenceNumberUri,
- true, true, true, task_queue());
+ RegisterRtpExtension(RtpExtension(RtpExtension::kTransportSequenceNumberUri,
+ kTransportSequenceNumberExtensionId));
+ RampUpTester test(3, 0, 0, 0, 0, true, true, true, task_queue());
RunBaseTest(&test);
}
TEST_F(RampUpTest, AudioTransportSequenceNumber) {
- RampUpTester test(0, 1, 0, 300000, 10000,
- RtpExtension::kTransportSequenceNumberUri, false, false,
- false, task_queue());
+ RegisterRtpExtension(RtpExtension(RtpExtension::kTransportSequenceNumberUri,
+ kTransportSequenceNumberExtensionId));
+ RampUpTester test(0, 1, 0, 300000, 10000, false, false, false, task_queue());
RunBaseTest(&test);
}
diff --git a/call/rampup_tests.h b/call/rampup_tests.h
index 952ae6f..ba9989d 100644
--- a/call/rampup_tests.h
+++ b/call/rampup_tests.h
@@ -44,7 +44,6 @@
size_t num_flexfec_streams,
unsigned int start_bitrate_bps,
int64_t min_run_time_ms,
- absl::string_view extension_type,
bool rtx,
bool red,
bool report_perf_stats,
@@ -115,7 +114,6 @@
int64_t test_start_ms_;
int64_t ramp_up_finished_ms_;
- const std::string extension_type_;
std::vector<uint32_t> video_ssrcs_;
std::vector<uint32_t> video_rtx_ssrcs_;
std::vector<uint32_t> audio_ssrcs_;
@@ -131,7 +129,6 @@
size_t num_audio_streams,
size_t num_flexfec_streams,
unsigned int start_bitrate_bps,
- absl::string_view extension_type,
bool rtx,
bool red,
const std::vector<int>& loss_rates,
diff --git a/test/call_test.cc b/test/call_test.cc
index 92f8d7d..62d1839 100644
--- a/test/call_test.cc
+++ b/test/call_test.cc
@@ -256,6 +256,10 @@
video_config->rtp.extmap_allow_mixed = true;
AddRtpExtensionByUri(RtpExtension::kTransportSequenceNumberUri,
&video_config->rtp.extensions);
+ AddRtpExtensionByUri(RtpExtension::kAbsSendTimeUri,
+ &video_config->rtp.extensions);
+ AddRtpExtensionByUri(RtpExtension::kTimestampOffsetUri,
+ &video_config->rtp.extensions);
AddRtpExtensionByUri(RtpExtension::kVideoContentTypeUri,
&video_config->rtp.extensions);
AddRtpExtensionByUri(RtpExtension::kGenericFrameDescriptorUri00,
@@ -283,6 +287,9 @@
if (num_audio_streams > 0) {
AudioSendStream::Config audio_send_config(send_transport);
audio_send_config.rtp.ssrc = kAudioSendSsrc;
+ AddRtpExtensionByUri(RtpExtension::kTransportSequenceNumberUri,
+ &audio_send_config.rtp.extensions);
+
audio_send_config.send_codec_spec = AudioSendStream::Config::SendCodecSpec(
kAudioSendPayloadType, {"opus", 48000, 2, {{"stereo", "1"}}});
audio_send_config.encoder_factory = audio_encoder_factory_;