AEC3: Allow the main and shadow filters to have different lengths

This CL changes the AEC3 code to allow the main and shadow filters
to have different lengths.

Bug: webrtc:9614,chromium:873100
Change-Id: I3ec2861d496986610d5a73db5771bbe9b8bf7dcd
Reviewed-on: https://webrtc-review.googlesource.com/93465
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24265}
diff --git a/modules/audio_processing/aec3/render_buffer.h b/modules/audio_processing/aec3/render_buffer.h
index 34e7edf..dd67268 100644
--- a/modules/audio_processing/aec3/render_buffer.h
+++ b/modules/audio_processing/aec3/render_buffer.h
@@ -61,6 +61,12 @@
   void SpectralSum(size_t num_spectra,
                    std::array<float, kFftLengthBy2Plus1>* X2) const;
 
+  // Returns the sums of the spectrums for two numbers of FFTs.
+  void SpectralSums(size_t num_spectra_shorter,
+                    size_t num_spectra_longer,
+                    std::array<float, kFftLengthBy2Plus1>* X2_shorter,
+                    std::array<float, kFftLengthBy2Plus1>* X2_longer) const;
+
   // Gets the recent activity seen in the render signal.
   bool GetRenderActivity() const { return render_activity_; }