Lines Matching full:usecase
159 struct audio_usecase *usecase,
165 if (usecase == NULL)
168 ALOGV("%s: enter: usecase(%d)", __func__, usecase->id);
170 if (usecase->type == PCM_CAPTURE)
171 snd_device = usecase->in_snd_device;
173 snd_device = usecase->out_snd_device;
175 strcpy(mixer_path, use_case_table[usecase->id]);
187 struct audio_usecase *usecase,
193 if (usecase == NULL)
196 ALOGV("%s: enter: usecase(%d)", __func__, usecase->id);
197 if (usecase->type == PCM_CAPTURE)
198 snd_device = usecase->in_snd_device;
200 snd_device = usecase->out_snd_device;
201 strcpy(mixer_path, use_case_table[usecase->id]);
272 struct audio_usecase *usecase;
287 specified usecase */
292 usecase = node_to_item(node, struct audio_usecase, list);
293 if (usecase->type != PCM_CAPTURE &&
294 usecase != uc_info &&
295 usecase->out_snd_device != snd_device &&
296 usecase->devices & AUDIO_DEVICE_OUT_ALL_CODEC_BACKEND) {
297 ALOGV("%s: Usecase (%s) is active on (%s) - disabling ..",
298 __func__, use_case_table[usecase->id],
299 platform_get_snd_device_name(usecase->out_snd_device));
300 disable_audio_route(adev, usecase, false);
301 switch_device[usecase->id] = true;
311 usecase = node_to_item(node, struct audio_usecase, list);
312 if (switch_device[usecase->id]) {
313 disable_snd_device(adev, usecase->out_snd_device, false);
322 specified usecase to new snd devices */
324 usecase = node_to_item(node, struct audio_usecase, list);
326 if (switch_device[usecase->id] ) {
327 usecase->out_snd_device = snd_device;
328 enable_audio_route(adev, usecase, false);
341 struct audio_usecase *usecase;
351 * usecase is also switched to earpiece i.e. voice-dmic-ef,
359 usecase = node_to_item(node, struct audio_usecase, list);
360 if (usecase->type != PCM_PLAYBACK &&
361 usecase != uc_info &&
362 usecase->in_snd_device != snd_device) {
363 ALOGV("%s: Usecase (%s) is active on (%s) - disabling ..",
364 __func__, use_case_table[usecase->id],
365 platform_get_snd_device_name(usecase->in_snd_device));
366 disable_audio_route(adev, usecase, false);
367 switch_device[usecase->id] = true;
377 usecase = node_to_item(node, struct audio_usecase, list);
378 if (switch_device[usecase->id]) {
379 disable_snd_device(adev, usecase->in_snd_device, false);
388 specified usecase to new snd devices */
390 usecase = node_to_item(node, struct audio_usecase, list);
392 if (switch_device[usecase->id] ) {
393 usecase->in_snd_device = snd_device;
394 enable_audio_route(adev, usecase, false);
434 struct audio_usecase *usecase;
438 usecase = node_to_item(node, struct audio_usecase, list);
439 if (usecase->id == uc_id)
440 return usecase;
450 struct audio_usecase *usecase = NULL;
455 usecase = get_usecase_from_list(adev, uc_id);
456 if (usecase == NULL) {
457 ALOGE("%s: Could not find the usecase(%d)", __func__, uc_id);
461 if (usecase->type == VOICE_CALL) {
463 usecase->stream.out->devices);
464 in_snd_device = platform_get_input_snd_device(adev->platform, usecase->stream.out->devices);
465 usecase->devices = usecase->stream.out->devices;
468 * If the voice call is active, use the sound devices of voice call usecase
471 usecase. This is to avoid switching devices for voice call when
481 if (usecase->type == PCM_PLAYBACK) {
482 usecase->devices = usecase->stream.out->devices;
486 usecase->stream.out->devices);
487 if (usecase->stream.out == adev->primary_output &&
490 select_devices(adev, adev->active_input->usecase);
493 } else if (usecase->type == PCM_CAPTURE) {
494 usecase->devices = usecase->stream.in->device;
509 if (out_snd_device == usecase->out_snd_device &&
510 in_snd_device == usecase->in_snd_device) {
523 if (usecase->type == VOICE_CALL) {
528 if (usecase->out_snd_device != SND_DEVICE_NONE) {
529 disable_audio_route(adev, usecase, true);
530 disable_snd_device(adev, usecase->out_snd_device, false);
533 if (usecase->in_snd_device != SND_DEVICE_NONE) {
534 disable_audio_route(adev, usecase, true);
535 disable_snd_device(adev, usecase->in_snd_device, false);
540 if (usecase->devices & AUDIO_DEVICE_OUT_ALL_CODEC_BACKEND)
541 check_usecases_codec_backend(adev, usecase, out_snd_device);
546 check_and_route_capture_usecases(adev, usecase, in_snd_device);
550 if (usecase->type == VOICE_CALL)
557 usecase->in_snd_device = in_snd_device;
558 usecase->out_snd_device = out_snd_device;
560 enable_audio_route(adev, usecase, true);
573 ALOGV("%s: enter: usecase(%d: %s)", __func__,
574 in->usecase, use_case_table[in->usecase]);
575 uc_info = get_usecase_from_list(adev, in->usecase);
577 ALOGE("%s: Could not find the usecase (%d) in the list",
578 __func__, in->usecase);
602 ALOGV("%s: enter: usecase(%d)", __func__, in->usecase);
603 in->pcm_device_id = platform_get_pcm_device_id(in->usecase, PCM_CAPTURE);
605 ALOGE("%s: Could not find PCM device id for the usecase(%d)",
606 __func__, in->usecase);
613 uc_info->id = in->usecase;
621 select_devices(adev, in->usecase);
789 struct audio_usecase *usecase;
793 usecase = node_to_item(node, struct audio_usecase, list);
794 if (usecase->devices & AUDIO_DEVICE_OUT_AUX_DIGITAL) {
801 if (usecase->id == USECASE_VOICE_CALL) {
806 } else if (usecase->id == USECASE_AUDIO_PLAYBACK_MULTI_CH) {
821 struct audio_usecase *usecase;
841 usecase = node_to_item(node, struct audio_usecase, list);
842 if (usecase->type == PCM_PLAYBACK &&
843 usecase->devices & AUDIO_DEVICE_OUT_AUX_DIGITAL) {
844 disable_audio_route(adev, usecase, true);
853 usecase = node_to_item(node, struct audio_usecase, list);
854 if (usecase->type == PCM_PLAYBACK &&
855 usecase->devices & AUDIO_DEVICE_OUT_AUX_DIGITAL) {
856 enable_audio_route(adev, usecase, true);
869 ALOGV("%s: enter: usecase(%d: %s)", __func__,
870 out->usecase, use_case_table[out->usecase]);
871 uc_info = get_usecase_from_list(adev, out->usecase);
873 ALOGE("%s: Could not find the usecase (%d) in the list",
874 __func__, out->usecase);
878 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD &&
891 /* Must be called after removing the usecase from list */
905 ALOGV("%s: enter: usecase(%d: %s) devices(%#x)",
906 __func__, out->usecase, use_case_table[out->usecase], out->devices);
907 out->pcm_device_id = platform_get_pcm_device_id(out->usecase, PCM_PLAYBACK);
909 ALOGE("%s: Invalid PCM device id(%d) for the usecase(%d)",
910 __func__, out->pcm_device_id, out->usecase);
916 uc_info->id = out->usecase;
923 /* This must be called before adding this usecase to the list */
929 select_devices(adev, out->usecase);
933 if (out->usecase != USECASE_AUDIO_PLAYBACK_OFFLOAD) {
990 ALOGE("%s: Could not find the usecase (%d) in the list",
1033 ALOGE("%s: Invalid PCM devices (rx: %d tx: %d) for the usecase(%d)",
1145 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
1176 ALOGV("%s: enter: usecase(%d: %s)", __func__,
1177 out->usecase, use_case_table[out->usecase]);
1182 if (out->usecase != USECASE_AUDIO_PLAYBACK_OFFLOAD) {
1247 struct audio_usecase *usecase;
1254 ALOGD("%s: enter: usecase(%d: %s) kvpairs: %s",
1255 __func__, out->usecase, use_case_table[out->usecase], kvpairs);
1280 * For example, music playback is active on headset (deep-buffer usecase)
1281 * and if we go to ringtones and select a ringtone, low-latency usecase
1284 * playback to headset+speaker while starting low-lateny usecase for ringtone.
1297 select_devices(adev, out->usecase);
1317 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
1369 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD)
1382 if (out->usecase == USECASE_AUDIO_PLAYBACK_MULTI_CH) {
1386 } else if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
1426 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
1475 if ((out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) && (dsp_frames != NULL)) {
1514 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
1534 (platform_render_latency(out->usecase) * out->sample_rate / 1000000LL);
1568 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
1584 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
1601 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
1616 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
1720 ret = select_devices(adev, in->usecase);
1808 select_devices(in->dev, in->usecase);
1874 out->usecase = USECASE_AUDIO_PLAYBACK_MULTI_CH;
1880 out->usecase = USECASE_AUDIO_PLAYBACK_DEEP_BUFFER;
1899 out->usecase = USECASE_AUDIO_PLAYBACK_OFFLOAD;
1934 out->usecase = USECASE_AUDIO_PLAYBACK_LOW_LATENCY;
1949 /* Check if this usecase is already existing */
1951 if (get_usecase_from_list(adev, out->usecase) != NULL) {
1952 ALOGE("%s: Usecase (%d) is already present", __func__, out->usecase);
2008 if (out->usecase == USECASE_AUDIO_PLAYBACK_OFFLOAD) {
2097 struct audio_usecase *usecase;
2100 usecase = node_to_item(node, struct audio_usecase, list);
2101 if (usecase->type == PCM_PLAYBACK) {
2102 select_devices(adev, usecase->id);
2266 in->usecase = USECASE_AUDIO_RECORD;