Added audio mixer and removed audio device module in AudioState::Config.
The audio_device_module field was currently unused. The audio_mixer
field is going to be used to pass an AudioMixer to AudioState.
In the hopefully-not-very-far future, the toplevel WebRTC API will allow passing
a custom AudioMixer, e.g. for spatialized audio (audio in space). If no
mixer is passed, a default mixer is created (the one in modules/audio_mixer).
The only object which will have a permanent reference to the mixer is AudioState.
AudioState is created in WebRTCVoiceEngine with a configuration object,
which already contains a VoiceEngine pointer. In this CL, we extend this
config object with a mixer pointer.
In summary: in an upcoming CL, a mixer will be either created in or passed to
WebRTCVoiceEngine. This mixer will be passed to the ctor of AudioState in a
config struct.
BUG=webrtc:6346
NOTRY=True
Review-Url: https://codereview.webrtc.org/2456363002
Cr-Commit-Position: refs/heads/master@{#14973}
diff --git a/webrtc/api/api.gyp b/webrtc/api/api.gyp
index b50dfd5..70efb5a 100644
--- a/webrtc/api/api.gyp
+++ b/webrtc/api/api.gyp
@@ -99,6 +99,7 @@
'type': 'static_library',
'dependencies': [
# TODO(kjellander): Add remaining dependencies when webrtc:4243 is done.
+ ':audio_mixer_api',
'<(webrtc_root)/base/base.gyp:rtc_base_approved',
'<(webrtc_root)/common.gyp:webrtc_common',
'<(webrtc_root)/modules/modules.gyp:audio_encoder_interface',