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}
This commit is contained in:
parent
6c032cb835
commit
b0d8a3728c
@ -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 @@ void CallPerfTest::TestMinAudioVideoBitrate(int test_bitrate_from,
|
||||
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 @@ void CallPerfTest::TestMinAudioVideoBitrate(int test_bitrate_from,
|
||||
}
|
||||
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 @@ void CallPerfTest::TestMinAudioVideoBitrate(int test_bitrate_from,
|
||||
|
||||
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 @@ void CallPerfTest::TestMinAudioVideoBitrate(int test_bitrate_from,
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@ -292,6 +292,8 @@ void CallTest::CreateAudioAndFecSendConfigs(size_t num_audio_streams,
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user