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/audio_mixer/audio_mixer_impl.h"
|
||||||
#include "modules/rtp_rtcp/source/rtp_packet.h"
|
#include "modules/rtp_rtcp/source/rtp_packet.h"
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
|
#include "rtc_base/logging.h"
|
||||||
#include "rtc_base/synchronization/mutex.h"
|
#include "rtc_base/synchronization/mutex.h"
|
||||||
#include "rtc_base/task_queue_for_test.h"
|
#include "rtc_base/task_queue_for_test.h"
|
||||||
#include "rtc_base/thread.h"
|
#include "rtc_base/thread.h"
|
||||||
@ -910,7 +911,6 @@ void CallPerfTest::TestMinAudioVideoBitrate(int test_bitrate_from,
|
|||||||
int start_bwe,
|
int start_bwe,
|
||||||
int max_bwe) {
|
int max_bwe) {
|
||||||
static const std::string kAudioTrackId = "audio_track_0";
|
static const std::string kAudioTrackId = "audio_track_0";
|
||||||
static constexpr int kOpusBitrateFbBps = 32000;
|
|
||||||
static constexpr int kBitrateStabilizationMs = 10000;
|
static constexpr int kBitrateStabilizationMs = 10000;
|
||||||
static constexpr int kBitrateMeasurements = 10;
|
static constexpr int kBitrateMeasurements = 10;
|
||||||
static constexpr int kBitrateMeasurementMs = 1000;
|
static constexpr int kBitrateMeasurementMs = 1000;
|
||||||
@ -989,8 +989,12 @@ void CallPerfTest::TestMinAudioVideoBitrate(int test_bitrate_from,
|
|||||||
}
|
}
|
||||||
avg_rtt = avg_rtt / kBitrateMeasurements;
|
avg_rtt = avg_rtt / kBitrateMeasurements;
|
||||||
if (avg_rtt > kMinGoodRttMs) {
|
if (avg_rtt > kMinGoodRttMs) {
|
||||||
|
RTC_LOG(LS_WARNING)
|
||||||
|
<< "Failed test bitrate: " << test_bitrate << " RTT: " << avg_rtt;
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
|
RTC_LOG(LS_INFO) << "Passed test bitrate: " << test_bitrate
|
||||||
|
<< " RTT: " << avg_rtt;
|
||||||
last_passed_test_bitrate = test_bitrate;
|
last_passed_test_bitrate = test_bitrate;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1015,13 +1019,6 @@ void CallPerfTest::TestMinAudioVideoBitrate(int test_bitrate_from,
|
|||||||
|
|
||||||
size_t GetNumAudioStreams() const override { return 1; }
|
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:
|
private:
|
||||||
const int test_bitrate_from_;
|
const int test_bitrate_from_;
|
||||||
const int test_bitrate_to_;
|
const int test_bitrate_to_;
|
||||||
@ -1039,13 +1036,7 @@ void CallPerfTest::TestMinAudioVideoBitrate(int test_bitrate_from,
|
|||||||
RunBaseTest(&test);
|
RunBaseTest(&test);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(bugs.webrtc.org/8878)
|
TEST_F(CallPerfTest, Min_Bitrate_VideoAndAudio) {
|
||||||
#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) {
|
|
||||||
TestMinAudioVideoBitrate(110, 40, -10, 10000, 70000, 200000);
|
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(
|
audio_send_config.send_codec_spec = AudioSendStream::Config::SendCodecSpec(
|
||||||
kAudioSendPayloadType, {"opus", 48000, 2, {{"stereo", "1"}}});
|
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_;
|
audio_send_config.encoder_factory = audio_encoder_factory_;
|
||||||
SetAudioConfig(audio_send_config);
|
SetAudioConfig(audio_send_config);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user