Remove unused combined_audio_video_bwe.

Bug: None
Change-Id: Ie539351f98b7a0ebb5f08e0df5c5759a2bcb5588
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306520
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Yury Yarashevich <yura.yaroshevich@gmail.com>
Cr-Commit-Position: refs/heads/main@{#40160}
diff --git a/api/audio_options.cc b/api/audio_options.cc
index 6585150..a3f2b6e 100644
--- a/api/audio_options.cc
+++ b/api/audio_options.cc
@@ -52,7 +52,6 @@
           change.audio_jitter_buffer_fast_accelerate);
   SetFrom(&audio_jitter_buffer_min_delay_ms,
           change.audio_jitter_buffer_min_delay_ms);
-  SetFrom(&combined_audio_video_bwe, change.combined_audio_video_bwe);
   SetFrom(&audio_network_adaptor, change.audio_network_adaptor);
   SetFrom(&audio_network_adaptor_config, change.audio_network_adaptor_config);
   SetFrom(&init_recording_on_send, change.init_recording_on_send);
@@ -72,7 +71,6 @@
              o.audio_jitter_buffer_fast_accelerate &&
          audio_jitter_buffer_min_delay_ms ==
              o.audio_jitter_buffer_min_delay_ms &&
-         combined_audio_video_bwe == o.combined_audio_video_bwe &&
          audio_network_adaptor == o.audio_network_adaptor &&
          audio_network_adaptor_config == o.audio_network_adaptor_config &&
          init_recording_on_send == o.init_recording_on_send;
@@ -97,7 +95,6 @@
                 audio_jitter_buffer_fast_accelerate);
   ToStringIfSet(&result, "audio_jitter_buffer_min_delay_ms",
                 audio_jitter_buffer_min_delay_ms);
-  ToStringIfSet(&result, "combined_audio_video_bwe", combined_audio_video_bwe);
   ToStringIfSet(&result, "audio_network_adaptor", audio_network_adaptor);
   ToStringIfSet(&result, "init_recording_on_send", init_recording_on_send);
   result << "}";
diff --git a/api/audio_options.h b/api/audio_options.h
index 39ba388..3ab3b3c 100644
--- a/api/audio_options.h
+++ b/api/audio_options.h
@@ -58,11 +58,6 @@
   absl::optional<bool> audio_jitter_buffer_fast_accelerate;
   // Audio receiver jitter buffer (NetEq) minimum target delay in milliseconds.
   absl::optional<int> audio_jitter_buffer_min_delay_ms;
-  // Enable combined audio+bandwidth BWE.
-  // TODO(pthatcher): This flag is set from the
-  // "googCombinedAudioVideoBwe", but not used anywhere. So delete it,
-  // and check if any other AudioOptions members are unused.
-  absl::optional<bool> combined_audio_video_bwe;
   // Enable audio network adaptor.
   // TODO(webrtc:11717): Remove this API in favor of adaptivePtime in
   // RtpEncodingParameters.
diff --git a/api/peer_connection_interface.h b/api/peer_connection_interface.h
index 6ce4650..e80550c 100644
--- a/api/peer_connection_interface.h
+++ b/api/peer_connection_interface.h
@@ -448,9 +448,6 @@
     // when switching from a static scene to one with motion.
     absl::optional<int> screencast_min_bitrate;
 
-    // Use new combined audio/video bandwidth estimation?
-    absl::optional<bool> combined_audio_video_bwe;
-
 #if defined(WEBRTC_FUCHSIA)
     // TODO(bugs.webrtc.org/11066): Remove entirely once Fuchsia does not use.
     // TODO(bugs.webrtc.org/9891) - Move to crypto_options
diff --git a/pc/peer_connection.cc b/pc/peer_connection.cc
index 59d3872..e0cef06 100644
--- a/pc/peer_connection.cc
+++ b/pc/peer_connection.cc
@@ -303,7 +303,6 @@
     int max_ipv6_networks;
     bool disable_link_local_networks;
     absl::optional<int> screencast_min_bitrate;
-    absl::optional<bool> combined_audio_video_bwe;
 #if defined(WEBRTC_FUCHSIA)
     absl::optional<bool> enable_dtls_srtp;
 #endif
@@ -372,7 +371,6 @@
          max_ipv6_networks == o.max_ipv6_networks &&
          disable_link_local_networks == o.disable_link_local_networks &&
          screencast_min_bitrate == o.screencast_min_bitrate &&
-         combined_audio_video_bwe == o.combined_audio_video_bwe &&
 #if defined(WEBRTC_FUCHSIA)
          enable_dtls_srtp == o.enable_dtls_srtp &&
 #endif
diff --git a/pc/peer_connection_media_unittest.cc b/pc/peer_connection_media_unittest.cc
index 56ff8ff..2213db6 100644
--- a/pc/peer_connection_media_unittest.cc
+++ b/pc/peer_connection_media_unittest.cc
@@ -1348,21 +1348,6 @@
             "Failed to set remote offer sdp: Duplicate a=mid value 'same'.");
 }
 
-TEST_P(PeerConnectionMediaTest,
-       CombinedAudioVideoBweConfigPropagatedToMediaEngine) {
-  RTCConfiguration config;
-  config.combined_audio_video_bwe.emplace(true);
-  auto caller = CreatePeerConnectionWithAudioVideo(config);
-
-  ASSERT_TRUE(caller->SetLocalDescription(caller->CreateOffer()));
-
-  auto caller_voice = caller->media_engine()->GetVoiceSendChannel(0);
-  ASSERT_TRUE(caller_voice);
-  const cricket::AudioOptions& audio_options = caller_voice->options();
-  EXPECT_EQ(config.combined_audio_video_bwe,
-            audio_options.combined_audio_video_bwe);
-}
-
 // Test that if a RED codec refers to another codec in its fmtp line, but that
 // codec's payload type was reassigned for some reason (either the remote
 // endpoint selected a different payload type or there was a conflict), the RED
diff --git a/pc/sdp_offer_answer.cc b/pc/sdp_offer_answer.cc
index 7f3db91..c87b6ec 100644
--- a/pc/sdp_offer_answer.cc
+++ b/pc/sdp_offer_answer.cc
@@ -1326,8 +1326,6 @@
   // RTCConfiguration value (not available on Web).
   video_options_.screencast_min_bitrate_kbps =
       configuration.screencast_min_bitrate.value_or(100);
-  audio_options_.combined_audio_video_bwe =
-      configuration.combined_audio_video_bwe;
 
   audio_options_.audio_jitter_buffer_max_packets =
       configuration.audio_jitter_buffer_max_packets;
diff --git a/sdk/android/api/org/webrtc/PeerConnection.java b/sdk/android/api/org/webrtc/PeerConnection.java
index e334a3f..5c87fe3 100644
--- a/sdk/android/api/org/webrtc/PeerConnection.java
+++ b/sdk/android/api/org/webrtc/PeerConnection.java
@@ -528,7 +528,6 @@
     public boolean enableCpuOveruseDetection;
     public boolean suspendBelowMinBitrate;
     @Nullable public Integer screencastMinBitrate;
-    @Nullable public Boolean combinedAudioVideoBwe;
     // Use "Unknown" to represent no preference of adapter types, not the
     // preference of adapters of unknown types.
     public AdapterType networkPreference;
@@ -607,7 +606,6 @@
       enableCpuOveruseDetection = true;
       suspendBelowMinBitrate = false;
       screencastMinBitrate = null;
-      combinedAudioVideoBwe = null;
       networkPreference = AdapterType.UNKNOWN;
       sdpSemantics = SdpSemantics.UNIFIED_PLAN;
       activeResetSrtpParams = false;
@@ -788,12 +786,6 @@
       return screencastMinBitrate;
     }
 
-    @Nullable
-    @CalledByNative("RTCConfiguration")
-    Boolean getCombinedAudioVideoBwe() {
-      return combinedAudioVideoBwe;
-    }
-
     @CalledByNative("RTCConfiguration")
     AdapterType getNetworkPreference() {
       return networkPreference;
diff --git a/sdk/android/src/jni/pc/peer_connection.cc b/sdk/android/src/jni/pc/peer_connection.cc
index 9983ae7..a063804 100644
--- a/sdk/android/src/jni/pc/peer_connection.cc
+++ b/sdk/android/src/jni/pc/peer_connection.cc
@@ -260,8 +260,6 @@
       Java_RTCConfiguration_getSuspendBelowMinBitrate(jni, j_rtc_config);
   rtc_config->screencast_min_bitrate = JavaToNativeOptionalInt(
       jni, Java_RTCConfiguration_getScreencastMinBitrate(jni, j_rtc_config));
-  rtc_config->combined_audio_video_bwe = JavaToNativeOptionalBool(
-      jni, Java_RTCConfiguration_getCombinedAudioVideoBwe(jni, j_rtc_config));
   rtc_config->network_preference =
       JavaToNativeNetworkPreference(jni, j_network_preference);
   rtc_config->sdp_semantics = JavaToNativeSdpSemantics(jni, j_sdp_semantics);
diff --git a/sdk/media_constraints.cc b/sdk/media_constraints.cc
index bbb46ed..88261e7 100644
--- a/sdk/media_constraints.cc
+++ b/sdk/media_constraints.cc
@@ -117,8 +117,6 @@
 const char MediaConstraints::kEnableDscp[] = "googDscp";
 const char MediaConstraints::kEnableVideoSuspendBelowMinBitrate[] =
     "googSuspendBelowMinBitrate";
-const char MediaConstraints::kCombinedAudioVideoBwe[] =
-    "googCombinedAudioVideoBwe";
 const char MediaConstraints::kScreencastMinBitrate[] =
     "googScreencastMinBitrate";
 // TODO(ronghuawu): Remove once cpu overuse detection is stable.
@@ -162,9 +160,6 @@
   ConstraintToOptional<int>(constraints,
                             MediaConstraints::kScreencastMinBitrate,
                             &configuration->screencast_min_bitrate);
-  ConstraintToOptional<bool>(constraints,
-                             MediaConstraints::kCombinedAudioVideoBwe,
-                             &configuration->combined_audio_video_bwe);
 }
 
 void CopyConstraintsIntoAudioOptions(const MediaConstraints* constraints,
diff --git a/sdk/media_constraints.h b/sdk/media_constraints.h
index a428abd..5bd38c2 100644
--- a/sdk/media_constraints.h
+++ b/sdk/media_constraints.h
@@ -89,9 +89,6 @@
   static const char kEnableIPv6[];  // googIPv6
   // Temporary constraint to enable suspend below min bitrate feature.
   static const char kEnableVideoSuspendBelowMinBitrate[];
-  // googSuspendBelowMinBitrate
-  // Constraint to enable combined audio+video bandwidth estimation.
-  static const char kCombinedAudioVideoBwe[];  // googCombinedAudioVideoBwe
   static const char kScreencastMinBitrate[];   // googScreencastMinBitrate
   static const char kCpuOveruseDetection[];    // googCpuOveruseDetection
 
diff --git a/sdk/media_constraints_unittest.cc b/sdk/media_constraints_unittest.cc
index 2d25da0..5e6b157 100644
--- a/sdk/media_constraints_unittest.cc
+++ b/sdk/media_constraints_unittest.cc
@@ -23,7 +23,6 @@
   return a.audio_jitter_buffer_max_packets ==
              b.audio_jitter_buffer_max_packets &&
          a.screencast_min_bitrate == b.screencast_min_bitrate &&
-         a.combined_audio_video_bwe == b.combined_audio_video_bwe &&
          a.media_config == b.media_config;
 }