Remove default impl of Attach/DetachAecDump.

The default implementations of AudioProcessing::{AttachAecDump,
DetachAecDump} are removed and audio_processing.cc is decoupled from
aec_dump.h. After this CL, the two methods are pure virtual. The
default implementations were added because doing otherwise would break
internal projects.

Bug: webrtc:7404
Change-Id: If94f60aeefe4ad1eefed3744f857692cc645bdf4
Reviewed-on: https://chromium-review.googlesource.com/528132
Commit-Queue: Alex Loiko <aleloi@google.com>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18517}
diff --git a/webrtc/modules/audio_processing/include/audio_processing.cc b/webrtc/modules/audio_processing/include/audio_processing.cc
index eec4db6..52a57aa 100644
--- a/webrtc/modules/audio_processing/include/audio_processing.cc
+++ b/webrtc/modules/audio_processing/include/audio_processing.cc
@@ -11,9 +11,6 @@
 #include "webrtc/modules/audio_processing/include/audio_processing.h"
 
 #include "webrtc/base/checks.h"
-#include "webrtc/modules/audio_processing/include/aec_dump.h"
-// TODO(aleloi): remove AecDump header usage when internal projcets
-// have updated. See https://bugs.webrtc.org/7404.
 
 namespace webrtc {
 
@@ -35,21 +32,4 @@
       target_direction(target_direction) {}
 
 Beamforming::~Beamforming() {}
-
-// TODO(aleloi): make pure virtual when internal projects have
-// updated. See https://bugs.webrtc.org/7404
-void AudioProcessing::AttachAecDump(std::unique_ptr<AecDump> aec_dump) {
-  RTC_NOTREACHED();
-}
-
-// If no AecDump is attached, this has no effect. If an AecDump is
-// attached, it's destructor is called. The d-tor may block until
-// all pending logging tasks are completed.
-//
-// TODO(aleloi): make pure virtual when internal projects have
-// updated. See https://bugs.webrtc.org/7404
-void AudioProcessing::DetachAecDump() {
-  RTC_NOTREACHED();
-}
-
 }  // namespace webrtc
diff --git a/webrtc/modules/audio_processing/include/audio_processing.h b/webrtc/modules/audio_processing/include/audio_processing.h
index 33fdff2..6a5a81d 100644
--- a/webrtc/modules/audio_processing/include/audio_processing.h
+++ b/webrtc/modules/audio_processing/include/audio_processing.h
@@ -463,18 +463,12 @@
   // with a new one. This causes the d-tor of the earlier AecDump to
   // be called. The d-tor call may block until all pending logging
   // tasks are completed.
-  //
-  // TODO(aleloi): make pure virtual when internal projects have
-  // updated. See https://bugs.webrtc.org/7404
-  virtual void AttachAecDump(std::unique_ptr<AecDump> aec_dump);
+  virtual void AttachAecDump(std::unique_ptr<AecDump> aec_dump) = 0;
 
   // If no AecDump is attached, this has no effect. If an AecDump is
   // attached, it's destructor is called. The d-tor may block until
   // all pending logging tasks are completed.
-  //
-  // TODO(aleloi): make pure virtual when internal projects have
-  // updated. See https://bugs.webrtc.org/7404
-  virtual void DetachAecDump();
+  virtual void DetachAecDump() = 0;
 
   // Starts recording debugging information to a file specified by |filename|,
   // a NULL-terminated string. If there is an ongoing recording, the old file