Pass FecControllerOverride to Vp8FrameBufferController

Bug: webrtc:10769
Change-Id: I06d875f5afdc7ebf290ad70934b6632e20ddf065
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143964
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28418}
diff --git a/api/video_codecs/vp8_frame_buffer_controller.h b/api/video_codecs/vp8_frame_buffer_controller.h
index e0d4851..94e08a9 100644
--- a/api/video_codecs/vp8_frame_buffer_controller.h
+++ b/api/video_codecs/vp8_frame_buffer_controller.h
@@ -16,6 +16,7 @@
 #include <vector>
 
 #include "absl/types/optional.h"
+#include "api/fec_controller_override.h"
 #include "api/video_codecs/video_codec.h"
 #include "api/video_codecs/video_encoder.h"
 #include "api/video_codecs/vp8_frame_config.h"
@@ -105,6 +106,13 @@
   // The limits are suggestion-only; the controller is allowed to exceed them.
   virtual void SetQpLimits(size_t stream_index, int min_qp, int max_qp) = 0;
 
+  // Set a FecControllerOverride, through which the bandwidth allocation
+  // decisions made by FecController may be overridden.
+  // TODO(bugs.webrtc.org/10769): Update downstream projects, then make
+  // this pure-virtual.
+  virtual void SetFecControllerOverride(
+      FecControllerOverride* fec_controller_override) {}
+
   // Number of streamed controlled by |this|.
   virtual size_t StreamCount() const = 0;
 
diff --git a/api/video_codecs/vp8_temporal_layers.cc b/api/video_codecs/vp8_temporal_layers.cc
index 22916a7..b29cf65 100644
--- a/api/video_codecs/vp8_temporal_layers.cc
+++ b/api/video_codecs/vp8_temporal_layers.cc
@@ -35,6 +35,11 @@
   return controllers_[stream_index]->SetQpLimits(0, min_qp, max_qp);
 }
 
+void Vp8TemporalLayers::SetFecControllerOverride(
+    FecControllerOverride* fec_controller_override) {
+  // Ignore.
+}
+
 size_t Vp8TemporalLayers::StreamCount() const {
   return controllers_.size();
 }
diff --git a/api/video_codecs/vp8_temporal_layers.h b/api/video_codecs/vp8_temporal_layers.h
index 4194352..efd013e 100644
--- a/api/video_codecs/vp8_temporal_layers.h
+++ b/api/video_codecs/vp8_temporal_layers.h
@@ -14,6 +14,7 @@
 #include <memory>
 #include <vector>
 
+#include "api/fec_controller_override.h"
 #include "api/video_codecs/video_codec.h"
 #include "api/video_codecs/vp8_frame_buffer_controller.h"
 #include "api/video_codecs/vp8_frame_config.h"
@@ -37,6 +38,9 @@
 
   void SetQpLimits(size_t stream_index, int min_qp, int max_qp) override;
 
+  void SetFecControllerOverride(
+      FecControllerOverride* fec_controller_override) override;
+
   size_t StreamCount() const override;
 
   bool SupportsEncoderFrameDropping(size_t stream_index) const override;