Add stub draft of audio generator to APM

This provides the empty shell of an AudioGenerator class.
It is intended to be used for debugging purposes and can be inserted
into the APM much like an AecDump. It allows for playing out diagnostic
audio unaffected by codecs and network jitter, while still capturing
API interaction like in a normal call.

NOTRY=True

Bug: webrtc:8882
Change-Id: I8132afc95cdba02ab233f44e22e0a5f530710ef7
Reviewed-on: https://webrtc-review.googlesource.com/53300
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22282}
diff --git a/modules/audio_processing/audio_processing_impl.cc b/modules/audio_processing/audio_processing_impl.cc
index a9e6b05..f4b8dee 100644
--- a/modules/audio_processing/audio_processing_impl.cc
+++ b/modules/audio_processing/audio_processing_impl.cc
@@ -1588,6 +1588,17 @@
   }
 }
 
+void AudioProcessingImpl::AttachPlayoutAudioGenerator(
+    std::unique_ptr<AudioGenerator> audio_generator) {
+  // TODO(bugs.webrtc.org/8882) Stub.
+  // Reset internal audio generator with audio_generator.
+}
+
+void AudioProcessingImpl::DetachPlayoutAudioGenerator() {
+  // TODO(bugs.webrtc.org/8882) Stub.
+  // Delete audio generator, if one is attached.
+}
+
 AudioProcessing::AudioProcessingStatistics::AudioProcessingStatistics() {
   residual_echo_return_loss.Set(-100.0f, -100.0f, -100.0f, -100.0f);
   echo_return_loss.Set(-100.0f, -100.0f, -100.0f, -100.0f);