audio: fix voice call crash on 8084 platform
Fix voice API incompatibility introduced by
commit 8edfd66a.
Bug: 16949514.
Change-Id: I6ef5d12e6a3d54e7cf084c802b54b07f6bccce5c
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 3a6058d..1bd3421 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -1337,8 +1337,8 @@
voice_stop_call(adev);
}
if (!voice_is_in_call(adev)) {
- ret = voice_start_call(adev, out);
adev->current_call_output = out;
+ ret = voice_start_call(adev);
} else
voice_update_devices_for_all_voice_usecases(adev);
}
diff --git a/hal/voice.c b/hal/voice.c
index fb226d6..988be56 100644
--- a/hal/voice.c
+++ b/hal/voice.c
@@ -95,7 +95,7 @@
return ret;
}
-int voice_start_usecase(struct audio_device *adev, audio_usecase_t usecase_id, struct stream_out *out)
+int voice_start_usecase(struct audio_device *adev, audio_usecase_t usecase_id)
{
int i, ret = 0;
struct audio_usecase *uc_info;
@@ -109,8 +109,8 @@
uc_info = (struct audio_usecase *)calloc(1, sizeof(struct audio_usecase));
uc_info->id = usecase_id;
uc_info->type = VOICE_CALL;
- uc_info->stream.out = out;
- uc_info->devices = out->devices;
+ uc_info->stream.out = adev->current_call_output ;
+ uc_info->devices = adev->current_call_output ->devices;
uc_info->in_snd_device = SND_DEVICE_NONE;
uc_info->out_snd_device = SND_DEVICE_NONE;
@@ -323,13 +323,13 @@
return err;
}
-int voice_start_call(struct audio_device *adev, struct stream_out *out)
+int voice_start_call(struct audio_device *adev)
{
int ret = 0;
ret = voice_extn_start_call(adev);
if (ret == -ENOSYS) {
- ret = voice_start_usecase(adev, USECASE_VOICE_CALL, out);
+ ret = voice_start_usecase(adev, USECASE_VOICE_CALL);
}
adev->voice.in_call = true;
diff --git a/hal/voice.h b/hal/voice.h
index 62fa4ed..76f9d0d 100644
--- a/hal/voice.h
+++ b/hal/voice.h
@@ -69,11 +69,10 @@
INCALL_REC_UPLINK_AND_DOWNLINK,
};
-int voice_start_usecase(struct audio_device *adev, audio_usecase_t usecase_id,
- struct stream_out *out);
+int voice_start_usecase(struct audio_device *adev, audio_usecase_t usecase_id);
int voice_stop_usecase(struct audio_device *adev, audio_usecase_t usecase_id);
-int voice_start_call(struct audio_device *adev, struct stream_out *out);
+int voice_start_call(struct audio_device *adev);
int voice_stop_call(struct audio_device *adev);
int voice_set_parameters(struct audio_device *adev, struct str_parms *parms);
void voice_get_parameters(struct audio_device *adev, struct str_parms *query,