Split audio mixer into interface and implementation.

The AudioMixer is now split in a mixer and audio source interface part, which has moved to webrtc/api, and a default implementation part, which lies in webrtc/modules.

This change makes it possible to create other mixer implementations and is a first step to facilitate passing down a mixer from outside of WebRTC.

It will also create less build dependencies when the new mixer has replaced the old one.

NOTRY=True
TBR=henrik.lundin@webrtc.org
BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2411313003
Cr-Commit-Position: refs/heads/master@{#14705}
diff --git a/webrtc/api/BUILD.gn b/webrtc/api/BUILD.gn
index 6de99f7..6424de9 100644
--- a/webrtc/api/BUILD.gn
+++ b/webrtc/api/BUILD.gn
@@ -321,6 +321,17 @@
   ]
 }
 
+# GYP version: webrtc/api/api.gyp:audio_mixer_api
+rtc_source_set("audio_mixer_api") {
+  sources = [
+    "audio/audio_mixer.h",
+  ]
+
+  deps = [
+    "../base:rtc_base_approved",
+  ]
+}
+
 if (rtc_include_tests) {
   config("peerconnection_unittests_config") {
     # The warnings below are enabled by default. Since GN orders compiler flags