hal: enable incall recording feature
Add support for incall recording
Change-Id: Ib14061a83391cb4dec94264a88031e6f3e9721eb
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 1f762e9..1d4cfd9 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -252,6 +252,11 @@
[USECASE_AUDIO_PLAYBACK_AFE_PROXY] = "afe-proxy-playback",
[USECASE_AUDIO_RECORD_AFE_PROXY] = "afe-proxy-record",
+
+ [USECASE_INCALL_REC_UPLINK] = "incall-rec-uplink",
+ [USECASE_INCALL_REC_DOWNLINK] = "incall-rec-downlink",
+ [USECASE_INCALL_REC_UPLINK_AND_DOWNLINK] = "incall-rec-uplink-and-downlink",
+
};
@@ -1189,6 +1194,9 @@
return -EINVAL;
}
+ /* Close in-call recording streams */
+ voice_check_and_stop_incall_rec_usecase(adev, in);
+
/* 1. Disable stream specific mixer controls */
disable_audio_route(adev, uc_info);
@@ -1221,6 +1229,13 @@
goto error_config;
}
+ /* Check if source matches incall recording usecase criteria */
+ ret = voice_check_and_set_incall_rec_usecase(adev, in);
+ if (ret)
+ goto error_config;
+ else
+ ALOGV("%s: usecase(%d)", __func__, in->usecase);
+
in->pcm_device_id = platform_get_pcm_device_id(in->usecase, PCM_CAPTURE);
if (in->pcm_device_id < 0) {
ALOGE("%s: Could not find PCM device id for the usecase(%d)",