📄 aud_vr_main.c
字号:
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vr_get_version_req_struct *msg_p = (media_vr_get_version_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
switch (msg_p->mode)
{
case MED_VR_ISD_MODE:
result = VR_GetEngineVer();
break;
case MED_VR_CSI_MODE:
result = -1;
break;
case MED_VR_PSI_MODE:
result = -1;
break;
default:
result = -1;
break;
}
aud_set_result(result);
AUD_SET_EVENT(AUD_EVT_VR_GET_VER);
}
/*****************************************************************************
* FUNCTION
* aud_vr_get_param_req_hdlr
* DESCRIPTION
* vr get parameters
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vr_get_param_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vr_get_param_req_struct *msg_p = (media_vr_get_param_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
switch (msg_p->mode)
{
case MED_VR_ISD_MODE:
if (VR_GetParameters(msg_p->sim, msg_p->diff, msg_p->rej) == VR_OK)
{
result = MED_RES_OK;
}
else
{
result = MED_RES_FAIL;
}
break;
case MED_VR_CSI_MODE:
result = MED_RES_PARAM_ERROR;
break;
case MED_VR_PSI_MODE:
result = MED_RES_PARAM_ERROR;
break;
default:
result = MED_RES_PARAM_ERROR;
break;
}
aud_set_result(result);
AUD_SET_EVENT(AUD_EVT_VR_GET_PARAM);
}
/*****************************************************************************
* FUNCTION
* aud_vr_set_param_req_hdlr
* DESCRIPTION
* vr set parameters
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vr_set_param_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vr_set_param_req_struct *msg_p = (media_vr_set_param_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
switch (msg_p->mode)
{
case MED_VR_ISD_MODE:
if (VR_SetParemeters(msg_p->sim, msg_p->diff, msg_p->rej) == VR_OK)
{
result = MED_RES_OK;
}
else
{
result = MED_RES_FAIL;
}
break;
case MED_VR_CSI_MODE:
result = MED_RES_PARAM_ERROR;
break;
case MED_VR_PSI_MODE:
result = MED_RES_PARAM_ERROR;
break;
default:
result = MED_RES_PARAM_ERROR;
break;
}
aud_set_result(result);
AUD_SET_EVENT(AUD_EVT_VR_SET_PARAM);
}
/*****************************************************************************
* FUNCTION
* aud_vr_init_rcg_req_hdlr
* DESCRIPTION
* vr initialize a recognition session
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vr_init_rcg_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vr_init_rcg_req_struct *msg_p = (media_vr_init_rcg_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
AUD_FUNC_ENTRY(AUD_VR_INIT_RCG_REQ_HDLR);
/* not allow cross another session */
if (vr_ctx.state == AUD_VR_STATE_IDLE)
{
vr_ctx.src_mod = ilm_ptr->src_mod_id;
vr_ctx.session_id = msg_p->session_id;
vr_ctx.mode = msg_p->mode;
vr_ctx.lang = msg_p->language;
vr_ctx.group_id = msg_p->group_id;
/* check not exceed max group id */
if (vr_ctx.group_id >= VR_SD_MAX_GROUP_NUM)
{
result = MED_RES_PARAM_ERROR;
}
else if (aud_vr_check_db_folder(vr_ctx.db_path, vr_ctx.mode, vr_ctx.lang, vr_ctx.group_id))
{
switch (vr_ctx.mode)
{
case MED_VR_ISD_MODE:
result = aud_vr_sd_init_rcg();
break;
case MED_VR_CSI_MODE:
result = MED_RES_PARAM_ERROR;
break;
case MED_VR_PSI_MODE:
result = MED_RES_PARAM_ERROR;
break;
default:
result = MED_RES_PARAM_ERROR;
break;
}
}
else
{
result = MED_RES_OPEN_FILE_FAIL;
}
}
else
{
result = MED_RES_BUSY;
}
AUD_VALUE_TRACE(result, vr_ctx.state, -1);
aud_set_result(result);
AUD_SET_EVENT(AUD_EVT_VR_INIT_RCG);
}
/*****************************************************************************
* FUNCTION
* aud_vr_init_trn_req_hdlr
* DESCRIPTION
* vr initialize a training session
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vr_init_trn_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vr_init_trn_req_struct *msg_p = (media_vr_init_trn_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
AUD_FUNC_ENTRY(AUD_VR_INIT_TRN_REQ_HDLR);
/* not allow cross another session */
if (vr_ctx.state == AUD_VR_STATE_IDLE)
{
vr_ctx.src_mod = ilm_ptr->src_mod_id;
vr_ctx.session_id = msg_p->session_id;
vr_ctx.mode = msg_p->mode;
vr_ctx.lang = msg_p->language;
vr_ctx.group_id = msg_p->group_id;
vr_ctx.word_id = msg_p->word_id;
/* check not exceed max group id */
if (vr_ctx.group_id >= VR_SD_MAX_GROUP_NUM)
{
result = MED_RES_PARAM_ERROR;
}
else if (aud_vr_check_db_folder(vr_ctx.db_path, vr_ctx.mode, vr_ctx.lang, vr_ctx.group_id))
{
switch (vr_ctx.mode)
{
case MED_VR_ISD_MODE:
result = aud_vr_sd_init_trn();
break;
case MED_VR_CSI_MODE:
result = MED_RES_PARAM_ERROR;
break;
case MED_VR_PSI_MODE:
result = MED_RES_PARAM_ERROR;
break;
default:
result = MED_RES_PARAM_ERROR;
break;
}
}
else
{
result = MED_RES_OPEN_FILE_FAIL;
}
}
else
{
result = MED_RES_BUSY;
}
AUD_VALUE_TRACE(result, vr_ctx.state, -1);
aud_set_result(result);
AUD_SET_EVENT(AUD_EVT_VR_INIT_TRN);
}
/*****************************************************************************
* FUNCTION
* aud_vr_voice_in_req_hdlr
* DESCRIPTION
* vr voice in notification
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vr_voice_in_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vr_voice_in_req_struct *msg_p = (media_vr_voice_in_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
AUD_FUNC_ENTRY(AUD_VR_VOICE_IN_REQ_HDLR);
/* check which session is the voice in for */
if (vr_ctx.state == AUD_VR_STATE_RCG_SESSION && vr_ctx.session_id == msg_p->session_id)
{
/* recognition session */
switch (vr_ctx.mode)
{
case MED_VR_ISD_MODE:
result = aud_vr_sd_rcg_voice_in();
break;
case MED_VR_CSI_MODE:
result = MED_RES_PARAM_ERROR;
break;
case MED_VR_PSI_MODE:
result = MED_RES_PARAM_ERROR;
break;
default:
result = MED_RES_PARAM_ERROR;
break;
}
}
else if (vr_ctx.state == AUD_VR_STATE_TRN_SESSION && vr_ctx.session_id == msg_p->session_id)
{
/* training session */
switch (vr_ctx.mode)
{
case MED_VR_ISD_MODE:
result = aud_vr_sd_trn_voice_in(msg_p->seq_no);
break;
case MED_VR_CSI_MODE:
result = MED_RES_PARAM_ERROR;
break;
case MED_VR_PSI_MODE:
result = MED_RES_PARAM_ERROR;
break;
default:
result = MED_RES_PARAM_ERROR;
break;
}
}
else
{
result = MED_RES_FAIL;
}
AUD_VALUE_TRACE(result, vr_ctx.state, -1);
aud_set_result(result);
AUD_SET_EVENT(AUD_EVT_VR_VOICE_IN);
}
/*****************************************************************************
* FUNCTION
* aud_vr_del_tag_req_hdlr
* DESCRIPTION
* vr delete tag
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vr_del_tag_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vr_del_tag_req_struct *msg_p = (media_vr_del_tag_req_struct*) ilm_ptr->local_para_ptr;
kal_uint16 db_path[VR_MAX_DB_PATH_LEN + 1];
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
AUD_FUNC_ENTRY(AUD_VR_DEL_TAG_REQ_HDLR);
/* not allow to delete a tag during session */
if (vr_ctx.state == AUD_VR_STATE_IDLE)
{
/* check not exceed max group id */
if (msg_p->group_id >= VR_SD_MAX_GROUP_NUM)
{
result = MED_RES_PARAM_ERROR;
}
else if (aud_vr_check_db_folder(db_path, msg_p->mode, msg_p->language, msg_p->group_id))
{
switch (vr_ctx.mode)
{
case MED_VR_ISD_MODE:
result = aud_vr_sd_delete_tag(msg_p->group_id, msg_p->word_id);
break;
case MED_VR_CSI_MODE:
result = MED_RES_PARAM_ERROR;
break;
case MED_VR_PSI_MODE:
result = MED_RES_PARAM_ERROR;
break;
default:
result = MED_RES_PARAM_ERROR;
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -