From 9b286ca4cfec9a764340f5671164667a6e3b31ef Mon Sep 17 00:00:00 2001 From: Anton Dehtiarov Date: Mon, 25 May 2020 23:14:47 +0300 Subject: [PATCH] audio: add get_active_micropones() function The Google VTS tests for Android VtsHalAudioV5_0Target(GetMicrophonesTest) needs to use pointer of function (*get_active_micropones)() which is not initialized and function in_get_active_microphones() required for initialization witch is not implemented in tinyhal. The analysis of the implementation of the audio hal for Qualcomm (https://android.googlesource.com/platform/hardware/qcom/audio/+/refs/heads/ master/hal/audio_hw.c) and Goldfish (https://android.googlesource.com/device/generic/goldfish/+/dc18a59%5E%21/) have been made. The implementation similar to Goldfish(stub) has been chosen as basic. Function in_get_active_microphones() was implemented as stub function that will expand in the future. This function fill array audio_microphone_characteristic_t with default microphone information. Signed-off-by: Anton Dehtiarov --- audio/audio_hw.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/audio/audio_hw.c b/audio/audio_hw.c index 9b5b1e2..697a6c2 100644 --- a/audio/audio_hw.c +++ b/audio/audio_hw.c @@ -2078,6 +2078,12 @@ static int adev_get_microphones(const struct audio_hw_device *dev, return 0; } +static int in_get_active_microphones(const struct audio_stream_in *stream, + struct audio_microphone_characteristic_t *mic_array, + size_t *mic_count) { + return adev_get_microphones(NULL, mic_array, mic_count); +} + /********************************************************************* * Stream open and close *********************************************************************/ @@ -2219,6 +2225,7 @@ static int adev_open_input_stream(struct audio_hw_device *dev, } in->common.dev = adev; + in->common.stream.get_active_microphones = in_get_active_microphones; devices &= AUDIO_DEVICE_IN_ALL; ret = do_init_in_common(&in->common, config, devices);