Default enable sending transport sequence numbers on audio packets.
This enables send side bandwidth estimation for audio and removes field
trial "WebRTC-Audio-SendSideBwe" which this was controlled through.
Transport-cc extension still needs to be negotiated.
Bug: webrtc:12222
Change-Id: Ie2268fad13703eeb0f0d38fcf484baaa29715b7c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194142
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32681}
diff --git a/audio/audio_send_stream.cc b/audio/audio_send_stream.cc
index 1c0a32f..4e21b1f 100644
--- a/audio/audio_send_stream.cc
+++ b/audio/audio_send_stream.cc
@@ -143,7 +143,6 @@
std::unique_ptr<voe::ChannelSendInterface> channel_send)
: clock_(clock),
worker_queue_(rtp_transport->GetWorkerQueue()),
- audio_send_side_bwe_(field_trial::IsEnabled("WebRTC-Audio-SendSideBwe")),
allocate_audio_without_feedback_(
field_trial::IsEnabled("WebRTC-Audio-ABWENoTWCC")),
enable_audio_alr_probing_(
@@ -289,7 +288,7 @@
RtcpBandwidthObserver* bandwidth_observer = nullptr;
- if (audio_send_side_bwe_ && !allocate_audio_without_feedback_ &&
+ if (!allocate_audio_without_feedback_ &&
new_ids.transport_sequence_number != 0) {
rtp_rtcp_module_->RegisterRtpHeaderExtension(
TransportSequenceNumber::kUri, new_ids.transport_sequence_number);
@@ -809,8 +808,7 @@
if (config_.min_bitrate_bps == new_config.min_bitrate_bps &&
config_.max_bitrate_bps == new_config.max_bitrate_bps &&
config_.bitrate_priority == new_config.bitrate_priority &&
- (TransportSeqNumId(config_) == TransportSeqNumId(new_config) ||
- !audio_send_side_bwe_) &&
+ TransportSeqNumId(config_) == TransportSeqNumId(new_config) &&
config_.audio_network_adaptor_config ==
new_config.audio_network_adaptor_config) {
return;
diff --git a/audio/audio_send_stream.h b/audio/audio_send_stream.h
index 12fcb9f..1e6982e 100644
--- a/audio/audio_send_stream.h
+++ b/audio/audio_send_stream.h
@@ -155,7 +155,6 @@
rtc::RaceChecker audio_capture_race_checker_;
rtc::TaskQueue* worker_queue_;
- const bool audio_send_side_bwe_;
const bool allocate_audio_without_feedback_;
const bool force_no_audio_feedback_ = allocate_audio_without_feedback_;
const bool enable_audio_alr_probing_;
diff --git a/audio/audio_send_stream_tests.cc b/audio/audio_send_stream_tests.cc
index d2ea99c..e389503 100644
--- a/audio/audio_send_stream_tests.cc
+++ b/audio/audio_send_stream_tests.cc
@@ -188,17 +188,10 @@
};
TEST_F(AudioSendStreamCallTest, SendsTransportWideSequenceNumbersInFieldTrial) {
- ScopedFieldTrials field_trials("WebRTC-Audio-SendSideBwe/Enabled/");
TransportWideSequenceNumberObserver test(/*expect_sequence_number=*/true);
RunBaseTest(&test);
}
-TEST_F(AudioSendStreamCallTest,
- DoesNotSendTransportWideSequenceNumbersPerDefault) {
- TransportWideSequenceNumberObserver test(/*expect_sequence_number=*/false);
- RunBaseTest(&test);
-}
-
TEST_F(AudioSendStreamCallTest, SendDtmf) {
static const uint8_t kDtmfPayloadType = 120;
static const int kDtmfPayloadFrequency = 8000;
diff --git a/audio/audio_send_stream_unittest.cc b/audio/audio_send_stream_unittest.cc
index bfec59b..b91296e 100644
--- a/audio/audio_send_stream_unittest.cc
+++ b/audio/audio_send_stream_unittest.cc
@@ -421,7 +421,6 @@
}
TEST(AudioSendStreamTest, AudioBweCorrectObjectsOnChannelProxy) {
- ScopedFieldTrials field_trials("WebRTC-Audio-SendSideBwe/Enabled/");
for (bool use_null_audio_processing : {false, true}) {
ConfigHelper helper(true, true, use_null_audio_processing);
auto send_stream = helper.CreateAudioSendStream();
@@ -523,14 +522,12 @@
TEST(AudioSendStreamTest, SendCodecAppliesAudioNetworkAdaptor) {
for (bool use_null_audio_processing : {false, true}) {
- ConfigHelper helper(false, true, use_null_audio_processing);
+ ConfigHelper helper(true, true, use_null_audio_processing);
helper.config().send_codec_spec =
AudioSendStream::Config::SendCodecSpec(0, kOpusFormat);
const std::string kAnaConfigString = "abcde";
const std::string kAnaReconfigString = "12345";
- helper.config().rtp.extensions.push_back(RtpExtension(
- RtpExtension::kTransportSequenceNumberUri, kTransportSequenceNumberId));
helper.config().audio_network_adaptor_config = kAnaConfigString;
EXPECT_CALL(helper.mock_encoder_factory(), MakeAudioEncoderMock(_, _, _, _))
@@ -559,12 +556,10 @@
TEST(AudioSendStreamTest, AudioNetworkAdaptorReceivesOverhead) {
for (bool use_null_audio_processing : {false, true}) {
- ConfigHelper helper(false, true, use_null_audio_processing);
+ ConfigHelper helper(true, true, use_null_audio_processing);
helper.config().send_codec_spec =
AudioSendStream::Config::SendCodecSpec(0, kOpusFormat);
const std::string kAnaConfigString = "abcde";
- helper.config().rtp.extensions.push_back(RtpExtension(
- RtpExtension::kTransportSequenceNumberUri, kTransportSequenceNumberId));
EXPECT_CALL(helper.mock_encoder_factory(), MakeAudioEncoderMock(_, _, _, _))
.WillOnce(Invoke(
@@ -647,7 +642,6 @@
}
TEST(AudioSendStreamTest, SSBweTargetInRangeRespected) {
- ScopedFieldTrials field_trials("WebRTC-Audio-SendSideBwe/Enabled/");
for (bool use_null_audio_processing : {false, true}) {
ConfigHelper helper(true, true, use_null_audio_processing);
auto send_stream = helper.CreateAudioSendStream();
@@ -666,7 +660,6 @@
TEST(AudioSendStreamTest, SSBweFieldTrialMinRespected) {
ScopedFieldTrials field_trials(
- "WebRTC-Audio-SendSideBwe/Enabled/"
"WebRTC-Audio-Allocation/min:6kbps,max:64kbps/");
for (bool use_null_audio_processing : {false, true}) {
ConfigHelper helper(true, true, use_null_audio_processing);
@@ -684,7 +677,6 @@
TEST(AudioSendStreamTest, SSBweFieldTrialMaxRespected) {
ScopedFieldTrials field_trials(
- "WebRTC-Audio-SendSideBwe/Enabled/"
"WebRTC-Audio-Allocation/min:6kbps,max:64kbps/");
for (bool use_null_audio_processing : {false, true}) {
ConfigHelper helper(true, true, use_null_audio_processing);
@@ -702,8 +694,6 @@
TEST(AudioSendStreamTest, SSBweWithOverhead) {
ScopedFieldTrials field_trials(
- "WebRTC-Audio-SendSideBwe/Enabled/"
- "WebRTC-SendSideBwe-WithOverhead/Enabled/"
"WebRTC-Audio-LegacyOverhead/Disabled/");
for (bool use_null_audio_processing : {false, true}) {
ConfigHelper helper(true, true, use_null_audio_processing);
@@ -725,8 +715,6 @@
TEST(AudioSendStreamTest, SSBweWithOverheadMinRespected) {
ScopedFieldTrials field_trials(
- "WebRTC-Audio-SendSideBwe/Enabled/"
- "WebRTC-SendSideBwe-WithOverhead/Enabled/"
"WebRTC-Audio-LegacyOverhead/Disabled/"
"WebRTC-Audio-Allocation/min:6kbps,max:64kbps/");
for (bool use_null_audio_processing : {false, true}) {
@@ -747,8 +735,6 @@
TEST(AudioSendStreamTest, SSBweWithOverheadMaxRespected) {
ScopedFieldTrials field_trials(
- "WebRTC-Audio-SendSideBwe/Enabled/"
- "WebRTC-SendSideBwe-WithOverhead/Enabled/"
"WebRTC-Audio-LegacyOverhead/Disabled/"
"WebRTC-Audio-Allocation/min:6kbps,max:64kbps/");
for (bool use_null_audio_processing : {false, true}) {
@@ -808,7 +794,6 @@
}
TEST(AudioSendStreamTest, ReconfigureTransportCcResetsFirst) {
- ScopedFieldTrials field_trials("WebRTC-Audio-SendSideBwe/Enabled/");
for (bool use_null_audio_processing : {false, true}) {
ConfigHelper helper(false, true, use_null_audio_processing);
auto send_stream = helper.CreateAudioSendStream();
diff --git a/audio/test/audio_bwe_integration_test.cc b/audio/test/audio_bwe_integration_test.cc
index eed7acb..f995395 100644
--- a/audio/test/audio_bwe_integration_test.cc
+++ b/audio/test/audio_bwe_integration_test.cc
@@ -160,9 +160,6 @@
// TODO(tschumim): This test is flaky when run on android and mac. Re-enable the
// test for when the issue is fixed.
TEST_F(AudioBweIntegrationTest, DISABLED_NoBandwidthDropAfterDtx) {
- webrtc::test::ScopedFieldTrials override_field_trials(
- "WebRTC-Audio-SendSideBwe/Enabled/"
- "WebRTC-SendSideBwe-WithOverhead/Enabled/");
NoBandwidthDropAfterDtx test;
RunBaseTest(&test);
}