Break apart AudioCodingModule and AcmReceiver

This change makes AudioCodingModule a pure sender and AcmReceiver a pure
receiver.

The Config struct is in practice no longer used by AudioCodingModule,
so a new definition is included in AcmReceiver. The old definition
remains in AudioCodingModule while downstream clients are being
updated.

Bug: webrtc:14867
Change-Id: If0d0b4214c5aa278cf6c85c5b62c6da644de20e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/291533
Reviewed-by: Tomas Lundqvist <tomasl@google.com>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39244}
diff --git a/modules/audio_coding/acm2/acm_receive_test.h b/modules/audio_coding/acm2/acm_receive_test.h
index 2095ef9..d0195dd 100644
--- a/modules/audio_coding/acm2/acm_receive_test.h
+++ b/modules/audio_coding/acm2/acm_receive_test.h
@@ -18,6 +18,7 @@
 
 #include "api/audio_codecs/audio_decoder_factory.h"
 #include "api/scoped_refptr.h"
+#include "modules/audio_coding/acm2/acm_receiver.h"
 #include "system_wrappers/include/clock.h"
 
 namespace webrtc {
@@ -57,14 +58,12 @@
   // Runs the test and returns true if successful.
   void Run();
 
-  AudioCodingModule* get_acm() { return acm_.get(); }
-
  protected:
   // Method is called after each block of output audio is received from ACM.
   virtual void AfterGetAudio() {}
 
   SimulatedClock clock_;
-  std::unique_ptr<AudioCodingModule> acm_;
+  std::unique_ptr<acm2::AcmReceiver> acm_receiver_;
   PacketSource* packet_source_;
   AudioSink* audio_sink_;
   int output_freq_hz_;