Delete codec-specific frameDroppingOn settings.

Followup to https://webrtc-review.googlesource.com/c/src/+/262244

Bug: webrtc:6883
Change-Id: Iefac43709f14424c74470aa878ec512b7dacc68a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262258
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36949}
diff --git a/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc b/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
index 0e64a10..b213356 100644
--- a/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
+++ b/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
@@ -508,7 +508,7 @@
     codec_.height = kHeight;
     codec_.VP8()->numberOfTemporalLayers = 1;
     codec_.VP8()->automaticResizeOn = true;
-    codec_.VP8()->frameDroppingOn = true;
+    codec_.SetFrameDropEnabled(true);
     rate_allocator_.reset(new SimulcastRateAllocator(codec_));
   }
 
diff --git a/api/video_codecs/video_codec.cc b/api/video_codecs/video_codec.cc
index b4bc5b7..c6122d3 100644
--- a/api/video_codecs/video_codec.cc
+++ b/api/video_codecs/video_codec.cc
@@ -34,14 +34,12 @@
   return (numberOfTemporalLayers == other.numberOfTemporalLayers &&
           denoisingOn == other.denoisingOn &&
           automaticResizeOn == other.automaticResizeOn &&
-          frameDroppingOn == other.frameDroppingOn &&
           keyFrameInterval == other.keyFrameInterval);
 }
 
 bool VideoCodecVP9::operator==(const VideoCodecVP9& other) const {
   return (numberOfTemporalLayers == other.numberOfTemporalLayers &&
           denoisingOn == other.denoisingOn &&
-          frameDroppingOn == other.frameDroppingOn &&
           keyFrameInterval == other.keyFrameInterval &&
           adaptiveQpMode == other.adaptiveQpMode &&
           automaticResizeOn == other.automaticResizeOn &&
@@ -50,8 +48,7 @@
 }
 
 bool VideoCodecH264::operator==(const VideoCodecH264& other) const {
-  return (frameDroppingOn == other.frameDroppingOn &&
-          keyFrameInterval == other.keyFrameInterval &&
+  return (keyFrameInterval == other.keyFrameInterval &&
           numberOfTemporalLayers == other.numberOfTemporalLayers);
 }
 
@@ -148,19 +145,7 @@
 }
 
 bool VideoCodec::GetFrameDropEnabled() const {
-  if (frame_drop_enabled_.has_value()) {
-    return *frame_drop_enabled_;
-  }
-  switch (codecType) {
-    default:
-      return false;
-    case kVideoCodecVP8:
-      return VP8().frameDroppingOn;
-    case kVideoCodecVP9:
-      return VP9().frameDroppingOn;
-    case kVideoCodecH264:
-      return H264().frameDroppingOn;
-  }
+  return frame_drop_enabled_;
 }
 
 void VideoCodec::SetFrameDropEnabled(bool enabled) {
diff --git a/api/video_codecs/video_codec.h b/api/video_codecs/video_codec.h
index f92298b..068b09d 100644
--- a/api/video_codecs/video_codec.h
+++ b/api/video_codecs/video_codec.h
@@ -47,7 +47,6 @@
   unsigned char numberOfTemporalLayers;
   bool denoisingOn;
   bool automaticResizeOn;
-  bool frameDroppingOn;
   int keyFrameInterval;
 };
 
@@ -65,7 +64,6 @@
   }
   unsigned char numberOfTemporalLayers;
   bool denoisingOn;
-  bool frameDroppingOn;
   int keyFrameInterval;
   bool adaptiveQpMode;
   bool automaticResizeOn;
@@ -80,7 +78,6 @@
   bool operator!=(const VideoCodecH264& other) const {
     return !(*this == other);
   }
-  bool frameDroppingOn;
   int keyFrameInterval;
   uint8_t numberOfTemporalLayers;
 };
@@ -181,9 +178,7 @@
   // 'complexity_' indicates the CPU capability of the client. It's used to
   // determine encoder CPU complexity (e.g., cpu_used for VP8, VP9. and AV1).
   VideoCodecComplexity complexity_;
-  // TODO(bugs.webrtc.org/6883): When unset, GetEnableFrameDrop checks the
-  // codec-specific settings.
-  absl::optional<bool> frame_drop_enabled_;
+  bool frame_drop_enabled_ = false;
 };
 
 }  // namespace webrtc
diff --git a/api/video_codecs/video_encoder.cc b/api/video_codecs/video_encoder.cc
index 83c3291..b85b932 100644
--- a/api/video_codecs/video_encoder.cc
+++ b/api/video_codecs/video_encoder.cc
@@ -26,7 +26,6 @@
   vp8_settings.numberOfTemporalLayers = 1;
   vp8_settings.denoisingOn = true;
   vp8_settings.automaticResizeOn = false;
-  vp8_settings.frameDroppingOn = true;
   vp8_settings.keyFrameInterval = 3000;
 
   return vp8_settings;
@@ -38,7 +37,6 @@
 
   vp9_settings.numberOfTemporalLayers = 1;
   vp9_settings.denoisingOn = true;
-  vp9_settings.frameDroppingOn = true;
   vp9_settings.keyFrameInterval = 3000;
   vp9_settings.adaptiveQpMode = true;
   vp9_settings.automaticResizeOn = true;
@@ -53,7 +51,6 @@
   VideoCodecH264 h264_settings;
   memset(&h264_settings, 0, sizeof(h264_settings));
 
-  h264_settings.frameDroppingOn = true;
   h264_settings.keyFrameInterval = 3000;
   h264_settings.numberOfTemporalLayers = 1;
 
diff --git a/modules/video_coding/codecs/vp8/test/vp8_impl_unittest.cc b/modules/video_coding/codecs/vp8/test/vp8_impl_unittest.cc
index afc51bf..d595575 100644
--- a/modules/video_coding/codecs/vp8/test/vp8_impl_unittest.cc
+++ b/modules/video_coding/codecs/vp8/test/vp8_impl_unittest.cc
@@ -165,6 +165,7 @@
 }
 
 TEST_F(TestVp8Impl, SetRates) {
+  codec_settings_.SetFrameDropEnabled(true);
   auto* const vpx = new NiceMock<MockLibvpxInterface>();
   LibvpxVp8Encoder encoder((std::unique_ptr<LibvpxInterface>(vpx)),
                            VP8Encoder::Settings());
@@ -416,6 +417,7 @@
 }
 
 TEST_F(TestVp8Impl, ScalingEnabledIfAutomaticResizeOn) {
+  codec_settings_.SetFrameDropEnabled(true);
   codec_settings_.VP8()->automaticResizeOn = true;
   EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK,
             encoder_->InitEncode(&codec_settings_, kSettings));