The way platform-specific tuning for audio processing in content::MediaStreamAudioProcessor is handled currently, it may require parsing the same JSON string multiple times. This should be consolidated into a single parsing function.
It is complicated by how some settings must be available outside of WebRTC, in the APM integration scope, to apply submodule settings via e.g. webrtc::AudioProcessing::gain_control, while some settings are parsed inside WebRTC (AEC3). If all such settings are available in webrtc::AudioProcessing::Config and (possibly separately) webrtc::EchoCanceller3Config, the JSON can be handled in a single WebRTC API call.
Comment 1 by saza@chromium.org
, Oct 16