audio: Add microphone settings to IModule, IStreamIn

Add 'MicrophoneInfo' and 'MicrophoneDynamicInfo' parcelables.
Add IModule.getMicrophones method.
Add following methods to IStreamIn:
  - getActiveMicrophonesIds;
  - get/setMicrophoneDirection;
  - get/setMicrophoneFieldDimension.

Provide trivial implementations and VTS.

Also slightly refactor port retrieval from ModuleConfig
to unify common queries.

Bug: 205884982
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I472c7733e2a331a67cea613cd9218889eff06a43
This commit is contained in:
Mikhail Naganov
2022-10-06 00:14:19 +00:00
parent 8fcc79fcb7
commit ef6bc74fc4
19 changed files with 858 additions and 68 deletions

View File

@@ -243,6 +243,13 @@ Configuration& getNullPrimaryConfiguration() {
AudioChannelLayout::LAYOUT_MONO, 48000, 0, true,
createDeviceExt(AudioDeviceType::IN_MICROPHONE, 0)));
MicrophoneInfo mic;
mic.id = "zero";
mic.device = zeroInDevice.ext.get<AudioPortExt::Tag::device>().device;
mic.group = 0;
mic.indexInTheGroup = 0;
c.microphones = std::vector<MicrophoneInfo>{mic};
AudioPort primaryInMix =
createPort(c.nextPortId++, "primary input", 0, true, createPortMixExt(2, 2));
primaryInMix.profiles.push_back(