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),
|
: payload_type_(payload_type),
|
||||||
send_side_bwe_with_overhead_(
|
send_side_bwe_with_overhead_(
|
||||||
webrtc::field_trial::IsEnabled("WebRTC-SendSideBwe-WithOverhead")),
|
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")),
|
"WebRTC-Audio-StableTargetAdaptation")),
|
||||||
adjust_bandwidth_(
|
adjust_bandwidth_(
|
||||||
webrtc::field_trial::IsEnabled("WebRTC-AdjustOpusBandwidth")),
|
webrtc::field_trial::IsEnabled("WebRTC-AdjustOpusBandwidth")),
|
||||||
|
@ -254,6 +254,8 @@ TEST_P(AudioEncoderOpusTest,
|
|||||||
|
|
||||||
TEST_P(AudioEncoderOpusTest,
|
TEST_P(AudioEncoderOpusTest,
|
||||||
InvokeAudioNetworkAdaptorOnReceivedUplinkBandwidth) {
|
InvokeAudioNetworkAdaptorOnReceivedUplinkBandwidth) {
|
||||||
|
test::ScopedFieldTrials override_field_trials(
|
||||||
|
"WebRTC-Audio-StableTargetAdaptation/Disabled/");
|
||||||
auto states = CreateCodec(sample_rate_hz_, 2);
|
auto states = CreateCodec(sample_rate_hz_, 2);
|
||||||
states->encoder->EnableAudioNetworkAdaptor("", nullptr);
|
states->encoder->EnableAudioNetworkAdaptor("", nullptr);
|
||||||
|
|
||||||
@ -275,6 +277,28 @@ TEST_P(AudioEncoderOpusTest,
|
|||||||
CheckEncoderRuntimeConfig(states->encoder.get(), config);
|
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) {
|
TEST_P(AudioEncoderOpusTest, InvokeAudioNetworkAdaptorOnReceivedRtt) {
|
||||||
auto states = CreateCodec(sample_rate_hz_, 2);
|
auto states = CreateCodec(sample_rate_hz_, 2);
|
||||||
states->encoder->EnableAudioNetworkAdaptor("", nullptr);
|
states->encoder->EnableAudioNetworkAdaptor("", nullptr);
|
||||||
@ -501,6 +525,8 @@ TEST_P(AudioEncoderOpusTest, EmptyConfigDoesNotAffectEncoderSettings) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_P(AudioEncoderOpusTest, UpdateUplinkBandwidthInAudioNetworkAdaptor) {
|
TEST_P(AudioEncoderOpusTest, UpdateUplinkBandwidthInAudioNetworkAdaptor) {
|
||||||
|
test::ScopedFieldTrials override_field_trials(
|
||||||
|
"WebRTC-Audio-StableTargetAdaptation/Disabled/");
|
||||||
auto states = CreateCodec(sample_rate_hz_, 2);
|
auto states = CreateCodec(sample_rate_hz_, 2);
|
||||||
states->encoder->EnableAudioNetworkAdaptor("", nullptr);
|
states->encoder->EnableAudioNetworkAdaptor("", nullptr);
|
||||||
const size_t opus_rate_khz = rtc::CheckedDivExact(sample_rate_hz_, 1000);
|
const size_t opus_rate_khz = rtc::CheckedDivExact(sample_rate_hz_, 1000);
|
||||||
|
Reference in New Issue
Block a user