hal: Support config selection for playback on speaker
Support bit width selection for playback on speakers based on
platform info.
Change-Id: I8dd2cc7049186e7468615a43db550d7d580a81d1
hal: add support for source tracking feature
Change-Id: I019b22d6541e6d1a10552d808c3320a998b86e48
hal: Add source tracking support for bear family PLs
Change-Id: Ib455933c14fd4cb920ab5e19d879a48ef61686a3
hal: Add provision to select backend based on codec type
Change-Id: I9c0dd7d952ab9d6b9bf738074d97597622e09590
Change-Id: I9c0dd7d952ab9d6b9bf738074d97597622e09590
diff --git a/msm8909/hal/audio_hw.c b/msm8909/hal/audio_hw.c
index 1c177fc..7417c39 100644
--- a/msm8909/hal/audio_hw.c
+++ b/msm8909/hal/audio_hw.c
@@ -727,14 +727,15 @@
return ret;
}
-static audio_usecase_t get_voice_usecase_id_from_list(struct audio_device *adev)
+audio_usecase_t get_usecase_id_from_usecase_type(struct audio_device *adev,
+ usecase_type_t type)
{
struct audio_usecase *usecase;
struct listnode *node;
list_for_each(node, &adev->usecase_list) {
usecase = node_to_item(node, struct audio_usecase, list);
- if (usecase->type == VOICE_CALL) {
+ if (usecase->type == type) {
ALOGV("%s: usecase id %d", __func__, usecase->id);
return usecase->id;
}
@@ -791,7 +792,7 @@
*/
if (voice_is_in_call(adev) && adev->mode == AUDIO_MODE_IN_CALL) {
vc_usecase = get_usecase_from_list(adev,
- get_voice_usecase_id_from_list(adev));
+ get_usecase_id_from_usecase_type(adev, VOICE_CALL));
if ((vc_usecase) && ((vc_usecase->devices & AUDIO_DEVICE_OUT_ALL_CODEC_BACKEND) ||
(usecase->devices == AUDIO_DEVICE_IN_VOICE_CALL))) {
in_snd_device = vc_usecase->in_snd_device;