Lines Matching full:usecase
286 struct mixer_card *uc_get_mixer_for_card(struct audio_usecase *usecase, int card)
291 list_for_each(node, &usecase->mixer_list) {
292 mixer_card = node_to_item(node, struct mixer_card, uc_list_node[usecase->id]);
407 struct audio_usecase *usecase;
411 usecase = node_to_item(node, struct audio_usecase, adev_list_node);
412 if (usecase->id == uc_id)
413 return usecase;
421 struct audio_usecase *usecase;
425 usecase = node_to_item(node, struct audio_usecase, adev_list_node);
426 if (usecase->type & type)
427 return usecase;
523 struct audio_usecase *usecase;
525 usecase = get_usecase_from_type(adev, PCM_CAPTURE|VOICE_CALL);
526 if (usecase != NULL) {
527 active_input = (struct stream_in *)usecase->stream;
678 int64_t render_latency(audio_usecase_t usecase)
680 (void)usecase;
752 struct audio_usecase *usecase = NULL;
759 ALOGV("%s: usecase(%d)", __func__, uc_id);
764 usecase = get_usecase_from_type(adev, PCM_CAPTURE|VOICE_CALL);
765 if (usecase != NULL) {
766 active_input = (struct stream_in *)usecase->stream;
769 usecase = get_usecase_from_id(adev, uc_id);
770 if (usecase == NULL) {
771 ALOGE("%s: Could not find the usecase(%d)", __func__, uc_id);
774 active_out = (struct stream_out *)usecase->stream;
776 if (usecase->type == VOICE_CALL) {
779 usecase->devices = active_out->devices;
782 * If the voice call is active, use the sound devices of voice call usecase
785 * usecase.
789 if (usecase == NULL) {
790 ALOGE("%s: Could not find the voice call usecase", __func__);
796 if (usecase->type == PCM_PLAYBACK) {
797 usecase->devices = active_out->devices;
804 select_devices(adev, active_input->usecase);
807 } else if (usecase->type == PCM_CAPTURE) {
808 usecase->devices = ((struct stream_in *)usecase->stream)->devices;
821 if (out_snd_device == usecase->out_snd_device &&
822 in_snd_device == usecase->in_snd_device) {
832 if (usecase->out_snd_device != SND_DEVICE_NONE) {
833 disable_snd_device(adev, usecase, usecase->out_snd_device, false);
836 if (usecase->in_snd_device != SND_DEVICE_NONE) {
837 disable_snd_device(adev, usecase, usecase->in_snd_device, false);
842 enable_snd_device(adev, usecase, out_snd_device, false);
846 enable_snd_device(adev, usecase, in_snd_device, false);
849 list_for_each(node, &usecase->mixer_list) {
850 mixer_card = node_to_item(node, struct mixer_card, uc_list_node[usecase->id]);
854 usecase->in_snd_device = in_snd_device;
855 usecase->out_snd_device = out_snd_device;
1280 ALOGV("%s: enter: usecase(%d: %s)", __func__,
1281 in->usecase, use_case_table[in->usecase]);
1282 uc_info = get_usecase_from_id(adev, in->usecase);
1284 ALOGE("%s: Could not find the usecase (%d) in the list",
1285 __func__, in->usecase);
1316 ALOGV("%s: enter: usecase(%d)", __func__, in->usecase);
1320 ALOGE("%s: Could not find PCM device id for the usecase(%d)",
1321 __func__, in->usecase);
1333 uc_info->id = in->usecase;
1352 select_devices(adev, in->usecase);
1472 static int uc_release_pcm_devices(struct audio_usecase *usecase)
1474 struct stream_out *out = (struct stream_out *)usecase->stream;
1484 list_init(&usecase->mixer_list);
1489 static int uc_select_pcm_devices(struct audio_usecase *usecase)
1492 struct stream_out *out = (struct stream_out *)usecase->stream;
1496 audio_devices_t devices = usecase->devices;
1498 list_init(&usecase->mixer_list);
1501 pcm_profile = get_pcm_device(usecase->type, devices);
1506 mixer_card = uc_get_mixer_for_card(usecase, pcm_profile->card);
1509 list_add_tail(&usecase->mixer_list, &mixer_card->uc_list_node[usecase->id]);
1513 ALOGE("usecase type=%d, devices=%d did not find exact match",
1514 usecase->type, devices);
1617 uc_info = get_usecase_from_id(adev, out->usecase);
1619 ALOGE("%s: Could not find the usecase (%d) in the list",
1620 __func__, out->usecase);
1637 uc_info->id = out->usecase;
1647 select_devices(adev, out->usecase);
1656 ALOGV("%s: enter: usecase(%d: %s)", __func__,
1657 out->usecase, use_case_table[out->usecase]);
1670 ALOGV("%s: enter: usecase(%d: %s) devices(%#x) channels(%d)",
1671 __func__, out->usecase, use_case_table[out->usecase], out->devices, out->config.channels);
1696 ALOGE("%s: Could not find the usecase (%d) in the list",
1858 ALOGV("%s: enter: usecase(%d: %s)", __func__,
1859 out->usecase, use_case_table[out->usecase]);
1883 struct audio_usecase *usecase;
1896 usecase(%d: %s) kvpairs: %s out->devices(%d) adev->mode(%d)",
1897 __func__, out->usecase, use_case_table[out->usecase], kvpairs, out->devices, adev->mode);
1907 (out->usecase == USECASE_AUDIO_PLAYBACK)) {
1921 uc_info = get_usecase_from_id(adev, out->usecase);
1923 ALOGE("%s: Could not find the usecase (%d) in the list",
1924 __func__, out->usecase);
1938 select_devices(adev, out->usecase);
2029 if (out->usecase == USECASE_AUDIO_PLAYBACK_MULTI_CH) {
2273 (render_latency(out->usecase) * out->sample_rate / 1000000LL);
2451 uc_info = get_usecase_from_id(adev, in->usecase);
2453 ALOGE("%s: Could not find the usecase (%d) in the list",
2454 __func__, in->usecase);
2469 ret = select_devices(adev, in->usecase);
2550 if (in->usecase == USECASE_AUDIO_CAPTURE_HOTWORD) {
2619 select_devices(in->dev, in->usecase);
2723 out->usecase = USECASE_AUDIO_PLAYBACK_DEEP_BUFFER;
2728 out->usecase = USECASE_AUDIO_PLAYBACK;
2742 /* Check if this usecase is already existing */
2744 if (get_usecase_from_id(adev, out->usecase) != NULL) {
2745 ALOGE("%s: Usecase (%d) is already present", __func__, out->usecase);
2887 struct audio_usecase *usecase;
2890 usecase = node_to_item(node, struct audio_usecase, adev_list_node);
2891 if (usecase->type == PCM_PLAYBACK) {
2892 select_devices(adev, usecase->id);
3079 in->usecase = USECASE_AUDIO_CAPTURE_HOTWORD;
3081 in->usecase = USECASE_AUDIO_CAPTURE;