/***************************************************************************** * FUNCTION * aud_media_stop_by_id_req_hdlr * DESCRIPTION * * PARAMETERS * ilm_ptr [?] * RETURNS * void *****************************************************************************/ void aud_media_stop_by_id_req_hdlr(ilm_struct *ilm_ptr) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ kal_uint8 audio_id; media_aud_stop_by_id_req_struct *req_p = (media_aud_stop_by_id_req_struct*) ilm_ptr->local_para_ptr; media_aud_stop_by_id_cnf_struct *cnf_p = NULL; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ aud_context_p->src_mod = ilm_ptr->src_mod_id; audio_id = req_p->audio_id; if (audio_id <= TONE_KEY_CLICK) { aud_keytone_stop(); } else if ((audio_id > TONE_KEY_CLICK) && (audio_id <= MAX_TONE_ID)) { aud_tone_stop(); } cnf_p = (media_aud_stop_by_id_cnf_struct*) construct_local_para(sizeof(media_aud_stop_by_id_cnf_struct), TD_CTRL); cnf_p->result = MED_RES_OK; aud_send_ilm(ilm_ptr->src_mod_id, MSG_ID_MEDIA_AUD_STOP_BY_ID_CNF, cnf_p, NULL); }
/***************************************************************************** * FUNCTION * aud_send_set_audio_param_cnf * DESCRIPTION * * PARAMETERS * result [IN] * RETURNS * void *****************************************************************************/ void aud_send_set_audio_param_cnf(kal_uint8 result) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ media_aud_set_audio_param_cnf_struct *cnf_p = NULL; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ cnf_p = (media_aud_set_audio_param_cnf_struct*) construct_local_para(sizeof(media_aud_set_audio_param_cnf_struct), TD_CTRL); /* send confirm message to L4 */ cnf_p->src_id = aud_context_p->src_id; if(result == 0) /* MED_RES_OK */ { cnf_p->result = KAL_TRUE; } else { cnf_p->result = KAL_FALSE; } cnf_p->cause = result; aud_send_ilm(aud_context_p->src_mod, MSG_ID_MEDIA_AUD_SET_AUDIO_PARAM_CNF, cnf_p, NULL); }
/***************************************************************************** * FUNCTION * _aud_trim_event_callback_fct * DESCRIPTION * This function is used to receive the callback events from L1Audio. * PARAMETERS * handle_p [IN] MHdl handle. * event [IN] Play event. * RETURNS * void *****************************************************************************/ static void _aud_trim_event_callback_fct(MHdl *handle_p, Media_Event event) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ l4aud_trim_event_ind_struct *ind_p = (l4aud_trim_event_ind_struct*) construct_local_para(sizeof(l4aud_trim_event_ind_struct), TD_CTRL); /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ ind_p->handle = (kal_uint32)handle_p; ind_p->event = event; aud_send_ilm(MOD_MED, MSG_ID_L4AUD_TRIM_EVENT_CALLBACK_IND, ind_p, NULL); }
/***************************************************************************** * FUNCTION * aud_send_startup_cnf * DESCRIPTION * * PARAMETERS * result [IN] * RETURNS * void *****************************************************************************/ void aud_send_startup_cnf(kal_uint8 result) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ med_startup_cnf_struct *cnf_p = NULL; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ cnf_p = (med_startup_cnf_struct*) construct_local_para(sizeof(med_startup_cnf_struct), TD_CTRL); /* send confirm message to L4 */ cnf_p->result = result; aud_send_ilm(aud_context_p->src_mod, MSG_ID_MED_STARTUP_CNF, cnf_p, NULL); }
/***************************************************************************** * FUNCTION * aud_media_play_by_id_req_hdlr * DESCRIPTION * * PARAMETERS * ilm_ptr [?] * RETURNS * void *****************************************************************************/ void aud_media_play_by_id_req_hdlr(ilm_struct *ilm_ptr) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ kal_uint8 audio_id; kal_uint8 audio_out_device; kal_uint8 volume; media_aud_play_by_id_req_struct *req_p = (media_aud_play_by_id_req_struct*) ilm_ptr->local_para_ptr; media_aud_play_by_id_cnf_struct *cnf_p = NULL; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ audio_id = req_p->audio_id; if (req_p->output_path == AUDIO_DEVICE_SPEAKER2) { /* Use default configuration */ aud_cfg_audio_out_device(audio_id, &audio_out_device); } else { /* Use user-specified path */ audio_out_device = req_p->output_path; } if (audio_id <= TONE_KEY_CLICK) { aud_keytone_stop(); /* Update keytone volume */ volume = aud_get_volume_gain(aud_context_p->audio_mode, AUD_VOLUME_KEY, req_p->volume); aud_keytone_set_output_volume(volume, 0); aud_keytone_play(audio_id, audio_out_device, req_p->play_style); } else if ((audio_id > TONE_KEY_CLICK) && (audio_id <= MAX_TONE_ID)) { /* if keytone is playing, stop it */ aud_keytone_stop(); if (req_p->play_style == DEVICE_AUDIO_PLAY_INFINITE) { aud_context_p->tone_playing = KAL_TRUE; } /* Update tone volume */ volume = aud_get_volume_gain(aud_context_p->audio_mode, AUD_VOLUME_CTN, req_p->volume); aud_tone_set_output_volume(volume, 0); aud_tone_play(audio_id, audio_out_device); } cnf_p = (media_aud_play_by_id_cnf_struct*) construct_local_para(sizeof(media_aud_play_by_id_cnf_struct), TD_CTRL); cnf_p->result = MED_RES_OK; aud_send_ilm(ilm_ptr->src_mod_id, MSG_ID_MEDIA_AUD_PLAY_BY_ID_CNF, cnf_p, NULL); }
/***************************************************************************** * FUNCTION * aud_send_msg_to_nvram * DESCRIPTION * * PARAMETERS * msg_name [IN] * ef_id [IN] * data_ptr [?] * length [IN] * RETURNS * void *****************************************************************************/ void aud_send_msg_to_nvram(msg_type msg_name, kal_uint16 ef_id, void *data_ptr, kal_uint16 length) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ peer_buff_struct *data_stream; local_para_struct *parm_stream; kal_uint16 pdu_len; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ switch (msg_name) { case MSG_ID_NVRAM_WRITE_REQ: switch (ef_id) { case NVRAM_EF_CUST_ACOUSTIC_DATA_LID: case NVRAM_EF_AUDIO_PARAM_LID: case NVRAM_EF_AUDIO_DC_CALIBRATION_LID: #ifdef __AMRWB_LINK_SUPPORT__ case NVRAM_EF_AUDIO_WB_SPEECH_INPUT_FIR_LID: case NVRAM_EF_AUDIO_WB_SPEECH_OUTPUT_FIR_LID: case NVRAM_EF_AUDIO_WB_SPEECH_MODE_PARAM_LID: #endif /* __AMRWB_LINK_SUPPORT__ */ parm_stream = construct_local_para(sizeof(nvram_write_req_struct), TD_CTRL); data_stream = construct_peer_buff(length, 0, 0, TD_CTRL); ((nvram_write_req_struct*) parm_stream)->file_idx = (kal_uint16) ef_id; ((nvram_write_req_struct*) parm_stream)->para = 1; ((nvram_write_req_struct*) parm_stream)->access_id = 0; pdu_len = length; kal_mem_cpy(get_peer_buff_pdu(data_stream, &pdu_len), data_ptr, length); aud_send_ilm(MOD_NVRAM, MSG_ID_NVRAM_WRITE_REQ, parm_stream, data_stream); break; default: /* error write */ break; } break; case MSG_ID_NVRAM_READ_REQ: switch (ef_id) { case NVRAM_EF_CUST_ACOUSTIC_DATA_LID: case NVRAM_EF_AUDIO_PARAM_LID: case NVRAM_EF_AUDIO_DC_CALIBRATION_LID: #ifdef __GAIN_TABLE_SUPPORT__ case NVRAM_EF_AUDIO_GAIN_TABLE_LID: #endif /* __GAIN_TABLE_SUPPORT__ */ #ifdef __SPEECH_MODE_TABLE_SUPPORT__ case NVRAM_EF_AUDIO_SPEECH_MODE_TABLE_LID: #endif /* __SPEECH_MODE_TABLE_SUPPORT__ */ #ifdef __AMRWB_LINK_SUPPORT__ case NVRAM_EF_AUDIO_WB_SPEECH_INPUT_FIR_LID: case NVRAM_EF_AUDIO_WB_SPEECH_OUTPUT_FIR_LID: case NVRAM_EF_AUDIO_WB_SPEECH_MODE_PARAM_LID: #endif /* __AMRWB_LINK_SUPPORT__ */ #ifdef __DUAL_MIC_SUPPORT__ case NVRAM_EF_AUDIO_DUAL_MIC_PARAM_LID: #endif parm_stream = construct_local_para(sizeof(nvram_read_req_struct), TD_CTRL); ((nvram_read_req_struct*) parm_stream)->file_idx = (kal_uint16) ef_id; ((nvram_read_req_struct*) parm_stream)->para = 1; aud_send_ilm(MOD_NVRAM, MSG_ID_NVRAM_READ_REQ, parm_stream, NULL); break; default: /* error read */ break; } break; default: break; } /* End Switch */ return; }