visualizer: Pass sound card and capture device from audio HAL
Sound card number and capture device id were hardcoded in
visualizer. Fix this by passing card number and capture
device id while starting visualizer output from audio HAL.
Bug: 65263761
Change-Id: Icc5c33e35d836f524918900b3bfdf2a587465505
(cherry picked from commit 90c3646a8b97158c2c3f33677815909219cc8f03)
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 98d67c4..fb15db5 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -2115,8 +2115,13 @@
if (out->offload_callback)
compress_nonblock(out->compr, out->non_blocking);
- if (adev->visualizer_start_output != NULL)
- adev->visualizer_start_output(out->handle, out->pcm_device_id);
+ if (adev->visualizer_start_output != NULL) {
+ int capture_device_id =
+ platform_get_pcm_device_id(USECASE_AUDIO_RECORD_AFE_PROXY,
+ PCM_CAPTURE);
+ adev->visualizer_start_output(out->handle, out->pcm_device_id,
+ adev->snd_card, capture_device_id);
+ }
if (adev->offload_effects_start_output != NULL)
adev->offload_effects_start_output(out->handle, out->pcm_device_id);
} else if (out->usecase == USECASE_AUDIO_PLAYBACK_MMAP) {
@@ -5618,7 +5623,7 @@
} else {
ALOGV("%s: DLOPEN successful for %s", __func__, VISUALIZER_LIBRARY_PATH);
adev->visualizer_start_output =
- (int (*)(audio_io_handle_t, int))dlsym(adev->visualizer_lib,
+ (int (*)(audio_io_handle_t, int, int, int))dlsym(adev->visualizer_lib,
"visualizer_hal_start_output");
adev->visualizer_stop_output =
(int (*)(audio_io_handle_t, int))dlsym(adev->visualizer_lib,