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:
parent
87733493da
commit
5671c64103
@ -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);
|
||||
}
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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_;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user