Add a virtual beamforming audio device on ChromeOS.
AudioManagerCras checks with CrasAudioHandler for an internal mic
device with a valid positions field. If present, it adds a virtual
beamforming device.
When this device is selected by a web app, the mic positions are plumbed
up to MediaStreamAudioProcessor via AudioParameters. MSAP will enable
beamforming when it sees valid mic positions.
See the design doc for background:
go/virtual-beamforming-device
BUG=497001
TEST=Selecting the beamforming device on a swanky indeed enables
beamforming for the internal mic and continues to work fine for an
external USB mic. Selecting the non-beamforming device disables
beamforming for the internal mic.
Review URL: https://codereview.chromium.org/
1275783003
Cr-Commit-Position: refs/heads/master@{#348668}