Home | History | Annotate | Download | only in hal

Lines Matching full:usecase

318 static struct mixer_card *uc_get_mixer_for_card(struct audio_usecase *usecase, int card)
323 list_for_each(node, &usecase->mixer_list) {
324 mixer_card = node_to_item(node, struct mixer_card, uc_list_node[usecase->id]);
434 struct audio_usecase *usecase;
438 usecase = node_to_item(node, struct audio_usecase, adev_list_node);
439 if (usecase->id == uc_id)
440 return usecase;
448 struct audio_usecase *usecase;
452 usecase = node_to_item(node, struct audio_usecase, adev_list_node);
453 if (usecase->type & type)
454 return usecase;
554 struct audio_usecase *usecase;
556 usecase = get_usecase_from_type(adev, PCM_CAPTURE|VOICE_CALL);
557 if (usecase != NULL) {
558 active_input = (struct stream_in *)usecase->stream;
715 static int64_t render_latency(audio_usecase_t usecase)
717 (void)usecase;
802 struct audio_usecase *usecase = NULL;
809 ALOGV("%s: usecase(%d)", __func__, uc_id);
814 usecase = get_usecase_from_type(adev, PCM_CAPTURE|VOICE_CALL);
815 if (usecase != NULL) {
816 active_input = (struct stream_in *)usecase->stream;
819 usecase = get_usecase_from_id(adev, uc_id);
820 if (usecase == NULL) {
821 ALOGE("%s: Could not find the usecase(%d)", __func__, uc_id);
824 active_out = (struct stream_out *)usecase->stream;
826 if (usecase->type == VOICE_CALL) {
829 usecase->devices = active_out->devices;
832 * If the voice call is active, use the sound devices of voice call usecase
835 * usecase.
839 if (usecase == NULL) {
840 ALOGE("%s: Could not find the voice call usecase", __func__);
846 if (usecase->type == PCM_PLAYBACK) {
847 usecase->devices = active_out->devices;
854 select_devices(adev, active_input->usecase);
857 } else if (usecase->type == PCM_CAPTURE) {
858 usecase->devices = ((struct stream_in *)usecase->stream)->devices;
871 if (out_snd_device == usecase->out_snd_device &&
872 in_snd_device == usecase->in_snd_device) {
882 if (usecase->out_snd_device != SND_DEVICE_NONE) {
884 disable_snd_device(adev, usecase, usecase->out_snd_device, false);
888 if (usecase->in_snd_device != SND_DEVICE_NONE) {
889 disable_snd_device(adev, usecase, usecase->in_snd_device, false);
894 enable_snd_device(adev, usecase, out_snd_device, false);
898 enable_snd_device(adev, usecase, in_snd_device, false);
901 list_for_each(node, &usecase->mixer_list) {
902 mixer_card = node_to_item(node, struct mixer_card, uc_list_node[usecase->id]);
906 usecase->in_snd_device = in_snd_device;
907 usecase->out_snd_device = out_snd_device;
910 if (usecase->devices & (AUDIO_DEVICE_OUT_WIRED_HEADSET | AUDIO_DEVICE_OUT_WIRED_HEADPHONE))
912 adev->htc_acoustic_set_rt5506_amp(adev->mode, usecase->devices);
1141 if (out != NULL && out->usecase == USECASE_AUDIO_PLAYBACK) {
1164 if (adev->primary_output!= NULL && adev->primary_output->usecase == USECASE_AUDIO_PLAYBACK &&
1195 adev->primary_output->usecase == USECASE_AUDIO_PLAYBACK &&
1202 ALOGE("%s: Could not find PCM device id for the usecase(%d)",
1907 ALOGV("%s: enter: usecase(%d: %s)", __func__,
1908 in->usecase, use_case_table[in->usecase]);
1909 uc_info = get_usecase_from_id(adev, in->usecase);
1911 ALOGE("%s: Could not find the usecase (%d) in the list",
1912 __func__, in->usecase);
1951 ALOGV("%s: enter: usecase(%d)", __func__, in->usecase);
1955 ALOGE("%s: Could not find PCM device id for the usecase(%d)",
1956 __func__, in->usecase);
1962 uc_info->id = in->usecase;
1981 select_devices(adev, in->usecase);
2252 static int uc_release_pcm_devices(struct audio_usecase *usecase)
2254 struct stream_out *out = (struct stream_out *)usecase->stream;
2264 list_init(&usecase->mixer_list);
2269 static int uc_select_pcm_devices(struct audio_usecase *usecase)
2272 struct stream_out *out = (struct stream_out *)usecase->stream;
2276 audio_devices_t devices = usecase->devices;
2278 list_init(&usecase->mixer_list);
2281 while ((pcm_profile = get_pcm_device(usecase->type, devices)) != NULL) {
2285 mixer_card = uc_get_mixer_for_card(usecase, pcm_profile->card);
2288 list_add_tail(&usecase->mixer_list, &mixer_card->uc_list_node[usecase->id]);
2376 uc_info = get_usecase_from_id(adev, out->usecase);
2378 ALOGE("%s: Could not find the usecase (%d) in the list",
2379 __func__, out->usecase);
2396 uc_info->id = out->usecase;
2405 select_devices(adev, out->usecase);
2414 ALOGV("%s: enter: usecase(%d: %s)", __func__,
2415 out->usecase, use_case_table[out->usecase]);
2417 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD &&
2438 ALOGV("%s: enter: usecase(%d: %s) devices(%#x) channels(%d)",
2439 __func__, out->usecase, use_case_table[out->usecase], out->devices, out->config.channels);
2443 if (out->usecase != USECASE_AUDIO_PLAYBACK_OFFLOAD) {
2489 ALOGE("%s: Could not find the usecase (%d) in the list",
2609 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
2644 if (out->usecase != USECASE_AUDIO_PLAYBACK_OFFLOAD) {
2677 ALOGV("%s: enter: usecase(%d: %s)", __func__,
2678 out->usecase, use_case_table[out->usecase]);
2735 struct audio_usecase *usecase;
2748 ALOGV("%s: enter: usecase(%d: %s) kvpairs: %s out->devices(%d) adev->mode(%d)",
2749 __func__, out->usecase, use_case_table[out->usecase], kvpairs, out->devices, adev->mode);
2759 (out->usecase == USECASE_AUDIO_PLAYBACK)) {
2773 uc_info = get_usecase_from_id(adev, out->usecase);
2775 ALOGE("%s: Could not find the usecase (%d) in the list",
2776 __func__, out->usecase);
2790 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
2793 ALOGE("%s: Could not find the usecase (%d) in the list",
2802 select_devices(adev, out->usecase);
2835 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
2890 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD)
2904 if (out->usecase == USECASE_AUDIO_PLAYBACK_MULTI_CH) {
2908 } else if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
3001 if (out->usecase == USECASE_AUDIO_PLAYBACK && !out->is_fastmixer_affinity_set) {
3052 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
3258 if ((out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) && (dsp_frames != NULL)) {
3303 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
3327 (render_latency(out->usecase) * out->sample_rate / 1000000LL);
3361 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
3380 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
3400 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
3415 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
3615 uc_info = get_usecase_from_id(adev, in->usecase);
3617 ALOGE("%s: Could not find the usecase (%d) in the list",
3618 __func__, in->usecase);
3633 ret = select_devices(adev, in->usecase);
3697 if (in->usecase == USECASE_AUDIO_CAPTURE && !in->is_fastcapture_affinity_set) {
3726 if (in->usecase == USECASE_AUDIO_CAPTURE_HOTWORD) {
3795 select_devices(in->dev, in->usecase);
3848 select_devices(in->dev, in->usecase);
3932 out->usecase = USECASE_AUDIO_PLAYBACK_OFFLOAD;
3968 out->usecase = USECASE_AUDIO_PLAYBACK_DEEP_BUFFER;
3973 out->usecase = USECASE_AUDIO_PLAYBACK;
3987 /* Check if this usecase is already existing */
3989 if (get_usecase_from_id(adev, out->usecase) != NULL) {
3990 ALOGE("%s: Usecase (%d) is already present", __func__, out->usecase);
4050 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
4138 struct audio_usecase *usecase;
4141 usecase = node_to_item(node, struct audio_usecase, adev_list_node);
4142 if (usecase->type == PCM_PLAYBACK) {
4143 select_devices(adev, usecase->id);
4347 in->usecase = USECASE_AUDIO_CAPTURE_HOTWORD;
4349 in->usecase = USECASE_AUDIO_CAPTURE;