Make stable target adaptation enabled by default.
This will result in slightly higher encode bitrates and longer frame lengths compared to using the smoothing filter. Bug: webrtc:10981 Change-Id: I64704196c56b0ad910895c908baad38c994a971b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177425 Reviewed-by: Ivo Creusen <ivoc@webrtc.org> Reviewed-by: Minyue Li <minyue@webrtc.org> Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31556}
This commit is contained in:

committed by
Commit Bot

parent
ee5b6de5aa
commit
d95138b684
@ -357,7 +357,7 @@ AudioEncoderOpusImpl::AudioEncoderOpusImpl(
|
||||
: payload_type_(payload_type),
|
||||
send_side_bwe_with_overhead_(
|
||||
webrtc::field_trial::IsEnabled("WebRTC-SendSideBwe-WithOverhead")),
|
||||
use_stable_target_for_adaptation_(webrtc::field_trial::IsEnabled(
|
||||
use_stable_target_for_adaptation_(!webrtc::field_trial::IsDisabled(
|
||||
"WebRTC-Audio-StableTargetAdaptation")),
|
||||
adjust_bandwidth_(
|
||||
webrtc::field_trial::IsEnabled("WebRTC-AdjustOpusBandwidth")),
|
||||
|
@ -254,6 +254,8 @@ TEST_P(AudioEncoderOpusTest,
|
||||
|
||||
TEST_P(AudioEncoderOpusTest,
|
||||
InvokeAudioNetworkAdaptorOnReceivedUplinkBandwidth) {
|
||||
test::ScopedFieldTrials override_field_trials(
|
||||
"WebRTC-Audio-StableTargetAdaptation/Disabled/");
|
||||
auto states = CreateCodec(sample_rate_hz_, 2);
|
||||
states->encoder->EnableAudioNetworkAdaptor("", nullptr);
|
||||
|
||||
@ -275,6 +277,28 @@ TEST_P(AudioEncoderOpusTest,
|
||||
CheckEncoderRuntimeConfig(states->encoder.get(), config);
|
||||
}
|
||||
|
||||
TEST_P(AudioEncoderOpusTest,
|
||||
InvokeAudioNetworkAdaptorOnReceivedUplinkAllocation) {
|
||||
auto states = CreateCodec(sample_rate_hz_, 2);
|
||||
states->encoder->EnableAudioNetworkAdaptor("", nullptr);
|
||||
|
||||
auto config = CreateEncoderRuntimeConfig();
|
||||
EXPECT_CALL(*states->mock_audio_network_adaptor, GetEncoderRuntimeConfig())
|
||||
.WillOnce(Return(config));
|
||||
|
||||
BitrateAllocationUpdate update;
|
||||
update.target_bitrate = DataRate::BitsPerSec(30000);
|
||||
update.stable_target_bitrate = DataRate::BitsPerSec(20000);
|
||||
update.bwe_period = TimeDelta::Millis(200);
|
||||
EXPECT_CALL(*states->mock_audio_network_adaptor,
|
||||
SetTargetAudioBitrate(update.target_bitrate.bps()));
|
||||
EXPECT_CALL(*states->mock_audio_network_adaptor,
|
||||
SetUplinkBandwidth(update.stable_target_bitrate.bps()));
|
||||
states->encoder->OnReceivedUplinkAllocation(update);
|
||||
|
||||
CheckEncoderRuntimeConfig(states->encoder.get(), config);
|
||||
}
|
||||
|
||||
TEST_P(AudioEncoderOpusTest, InvokeAudioNetworkAdaptorOnReceivedRtt) {
|
||||
auto states = CreateCodec(sample_rate_hz_, 2);
|
||||
states->encoder->EnableAudioNetworkAdaptor("", nullptr);
|
||||
@ -501,6 +525,8 @@ TEST_P(AudioEncoderOpusTest, EmptyConfigDoesNotAffectEncoderSettings) {
|
||||
}
|
||||
|
||||
TEST_P(AudioEncoderOpusTest, UpdateUplinkBandwidthInAudioNetworkAdaptor) {
|
||||
test::ScopedFieldTrials override_field_trials(
|
||||
"WebRTC-Audio-StableTargetAdaptation/Disabled/");
|
||||
auto states = CreateCodec(sample_rate_hz_, 2);
|
||||
states->encoder->EnableAudioNetworkAdaptor("", nullptr);
|
||||
const size_t opus_rate_khz = rtc::CheckedDivExact(sample_rate_hz_, 1000);
|
||||
|
Reference in New Issue
Block a user