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}
This commit is contained in:
Per K 2023-01-25 12:58:50 +01:00 committed by WebRTC LUCI CQ
parent 87733493da
commit 5671c64103
3 changed files with 47 additions and 70 deletions

View File

@ -65,7 +65,6 @@ RampUpTester::RampUpTester(size_t num_video_streams,
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 @@ RampUpTester::RampUpTester(size_t num_video_streams,
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 @@ void RampUpTester::ModifyVideoConfigs(
}
}
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 @@ void RampUpTester::ModifyVideoConfigs(
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 @@ void RampUpTester::ModifyAudioConfigs(
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 @@ void RampUpTester::ModifyFlexfecConfigs(
(*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 @@ RampUpDownUpTester::RampUpDownUpTester(size_t num_video_streams,
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 @@ RampUpDownUpTester::RampUpDownUpTester(size_t num_video_streams,
num_flexfec_streams,
start_bitrate_bps,
0,
extension_type,
rtx,
red,
report_perf_stats,
@ -627,8 +589,9 @@ static const uint32_t kStartBitrateBps = 60000;
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 @@ TEST_F(RampUpTest, UpDownUpAbsSendTimeSimulcastRedRtx) {
#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 @@ TEST_F(RampUpTest, MAYBE_UpDownUpTransportSequenceNumberRtx) {
// 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 @@ TEST_F(RampUpTest, DISABLED_UpDownUpTransportSequenceNumberPacketLoss) {
#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);
}

View File

@ -44,7 +44,6 @@ class RampUpTester : public test::EndToEndTest {
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 @@ class RampUpTester : public test::EndToEndTest {
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 @@ class RampUpDownUpTester : public RampUpTester {
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,

View File

@ -256,6 +256,10 @@ void CallTest::CreateVideoSendConfig(VideoSendStream::Config* video_config,
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 @@ void CallTest::CreateAudioAndFecSendConfigs(size_t num_audio_streams,
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_;