Home | History | Annotate | Download | only in hal

Lines Matching refs:adev

40 static struct voice_session *voice_get_session_from_use_case(struct audio_device *adev,
46 ret = voice_extn_get_session_from_use_case(adev, usecase_id, &session);
48 session = &adev->voice.session[VOICE_SESS_IDX];
54 int voice_stop_usecase(struct audio_device *adev, audio_usecase_t usecase_id)
62 session = (struct voice_session *)voice_get_session_from_use_case(adev, usecase_id);
65 ret = platform_stop_voice_call(adev->platform, session->vsid);
77 uc_info = get_usecase_from_list(adev, usecase_id);
85 disable_audio_route(adev, uc_info);
88 disable_snd_device(adev, uc_info->out_snd_device);
89 disable_snd_device(adev, uc_info->in_snd_device);
98 int voice_start_usecase(struct audio_device *adev, audio_usecase_t usecase_id)
108 session = (struct voice_session *)voice_get_session_from_use_case(adev, usecase_id);
112 uc_info->stream.out = adev->current_call_output ;
113 uc_info->devices = adev->current_call_output ->devices;
117 list_add_tail(&adev->usecase_list, &uc_info->list);
119 select_devices(adev, usecase_id);
132 __func__, adev->snd_card, pcm_dev_rx_id);
133 session->pcm_rx = pcm_open(adev->snd_card,
143 __func__, adev->snd_card, pcm_dev_tx_id);
144 session->pcm_tx = pcm_open(adev->snd_card,
155 voice_set_volume(adev, adev->voice.volume);
157 ret = platform_start_voice_call(adev->platform, session->vsid);
167 voice_stop_usecase(adev, usecase_id);
174 bool voice_is_call_state_active(struct audio_device *adev)
179 ret = voice_extn_is_call_state_active(adev, &call_state);
181 call_state = (adev->voice.session[VOICE_SESS_IDX].state.current == CALL_ACTIVE) ? true : false;
187 bool voice_is_in_call(struct audio_device *adev)
189 return adev->voice.in_call;
205 uint32_t voice_get_active_session_id(struct audio_device *adev)
210 ret = voice_extn_get_active_session_id(adev, &session_id);
217 int voice_check_and_set_incall_rec_usecase(struct audio_device *adev,
225 if (voice_is_call_state_active(adev)) {
245 session_id = voice_get_active_session_id(adev);
246 ret = platform_set_incall_recording_session_id(adev->platform,
256 int voice_check_and_stop_incall_rec_usecase(struct audio_device *adev,
264 ret = platform_stop_incall_recording_usecase(adev->platform);
271 int voice_check_and_set_incall_music_usecase(struct audio_device *adev,
276 ret = voice_extn_check_and_set_incall_music_usecase(adev, out);
285 int voice_set_mic_mute(struct audio_device *adev, bool state)
289 adev->voice.mic_mute = state;
290 if (adev->mode == AUDIO_MODE_IN_CALL)
291 err = platform_set_mic_mute(adev->platform, state);
296 bool voice_get_mic_mute(struct audio_device *adev)
298 return adev->voice.mic_mute;
301 int voice_set_volume(struct audio_device *adev, float volume)
305 adev->voice.volume = volume;
306 if (adev->mode == AUDIO_MODE_IN_CALL) {
320 err = platform_set_voice_volume(adev->platform, vol);
326 int voice_start_call(struct audio_device *adev)
330 adev->voice.in_call = true;
331 ret = voice_extn_start_call(adev);
333 ret = voice_start_usecase(adev, USECASE_VOICE_CALL);
339 int voice_stop_call(struct audio_device *adev)
343 adev->voice.in_call = false;
344 ret = voice_extn_stop_call(adev);
346 ret = voice_stop_usecase(adev, USECASE_VOICE_CALL);
352 void voice_get_parameters(struct audio_device *adev,
356 voice_extn_get_parameters(adev, query, reply);
359 int voice_set_parameters(struct audio_device *adev, struct str_parms *parms)
369 ret = voice_extn_set_parameters(adev, parms);
395 if (tty_mode != adev->voice.tty_mode) {
396 adev->voice.tty_mode = tty_mode;
397 adev->acdb_settings = (adev->acdb_settings & TTY_MODE_CLEAR) | tty_mode;
398 if (voice_is_call_state_active(adev))
399 voice_update_devices_for_all_voice_usecases(adev);
411 if (hac != adev->voice.hac) {
412 adev->voice.hac = hac;
413 if (voice_is_in_call(adev))
414 voice_update_devices_for_all_voice_usecases(adev);
423 platform_start_incall_music_usecase(adev->platform);
425 platform_stop_incall_music_usecase(adev->platform);
434 void voice_init(struct audio_device *adev)
438 memset(&adev->voice, 0, sizeof(adev->voice));
439 adev->voice.tty_mode = TTY_MODE_OFF;
440 adev->voice.hac = false;
441 adev->voice.volume = 1.0f;
442 adev->voice.mic_mute = false;
443 adev->voice.in_call = false;
445 adev->voice.session[i].pcm_rx = NULL;
446 adev->voice.session[i].pcm_tx = NULL;
447 adev->voice.session[i].state.current = CALL_INACTIVE;
448 adev->voice.session[i].state.new = CALL_INACTIVE;
449 adev->voice.session[i].vsid = VOICE_VSID;
452 voice_extn_init(adev);
455 void voice_update_devices_for_all_voice_usecases(struct audio_device *adev)
460 list_for_each(node, &adev->usecase_list) {
465 usecase->stream.out = adev->current_call_output;
466 select_devices(adev, usecase->id);