Ensure CallTest derived tests per default set min/max audio bitrate.
This ensure BWE works as intended with transport sequence numbers on
audio.
Tested with webrtc_perf_tests --gtest_filter=CallPerfTest.Min_Bitrate_VideoAndAudio
and --gtest_filter=Rampup*
Bug: webrtc:14854, webrtc:7135, b/266786240
Change-Id: I3b7a743149c22035e582a2157b5f0a93747857cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291523
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39208}
diff --git a/call/call_perf_tests.cc b/call/call_perf_tests.cc
index a50f5ee..f90d8ec 100644
--- a/call/call_perf_tests.cc
+++ b/call/call_perf_tests.cc
@@ -35,6 +35,7 @@
#include "modules/audio_mixer/audio_mixer_impl.h"
#include "modules/rtp_rtcp/source/rtp_packet.h"
#include "rtc_base/checks.h"
+#include "rtc_base/logging.h"
#include "rtc_base/synchronization/mutex.h"
#include "rtc_base/task_queue_for_test.h"
#include "rtc_base/thread.h"
@@ -910,7 +911,6 @@
int start_bwe,
int max_bwe) {
static const std::string kAudioTrackId = "audio_track_0";
- static constexpr int kOpusBitrateFbBps = 32000;
static constexpr int kBitrateStabilizationMs = 10000;
static constexpr int kBitrateMeasurements = 10;
static constexpr int kBitrateMeasurementMs = 1000;
@@ -989,8 +989,12 @@
}
avg_rtt = avg_rtt / kBitrateMeasurements;
if (avg_rtt > kMinGoodRttMs) {
+ RTC_LOG(LS_WARNING)
+ << "Failed test bitrate: " << test_bitrate << " RTT: " << avg_rtt;
break;
} else {
+ RTC_LOG(LS_INFO) << "Passed test bitrate: " << test_bitrate
+ << " RTT: " << avg_rtt;
last_passed_test_bitrate = test_bitrate;
}
}
@@ -1015,13 +1019,6 @@
size_t GetNumAudioStreams() const override { return 1; }
- void ModifyAudioConfigs(AudioSendStream::Config* send_config,
- std::vector<AudioReceiveStreamInterface::Config>*
- receive_configs) override {
- send_config->send_codec_spec->target_bitrate_bps =
- absl::optional<int>(kOpusBitrateFbBps);
- }
-
private:
const int test_bitrate_from_;
const int test_bitrate_to_;
@@ -1039,13 +1036,7 @@
RunBaseTest(&test);
}
-// TODO(bugs.webrtc.org/8878)
-#if defined(WEBRTC_MAC)
-#define MAYBE_Min_Bitrate_VideoAndAudio DISABLED_Min_Bitrate_VideoAndAudio
-#else
-#define MAYBE_Min_Bitrate_VideoAndAudio Min_Bitrate_VideoAndAudio
-#endif
-TEST_F(CallPerfTest, MAYBE_Min_Bitrate_VideoAndAudio) {
+TEST_F(CallPerfTest, Min_Bitrate_VideoAndAudio) {
TestMinAudioVideoBitrate(110, 40, -10, 10000, 70000, 200000);
}
diff --git a/test/call_test.cc b/test/call_test.cc
index 62d1839..7eccf78 100644
--- a/test/call_test.cc
+++ b/test/call_test.cc
@@ -292,6 +292,8 @@
audio_send_config.send_codec_spec = AudioSendStream::Config::SendCodecSpec(
kAudioSendPayloadType, {"opus", 48000, 2, {{"stereo", "1"}}});
+ audio_send_config.min_bitrate_bps = 6000;
+ audio_send_config.max_bitrate_bps = 60000;
audio_send_config.encoder_factory = audio_encoder_factory_;
SetAudioConfig(audio_send_config);
}