📄 aud_vr_main.c
字号:
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_DEL_TAG);
}
/*****************************************************************************
* FUNCTION
* aud_vr_check_tag_req_hdlr
* DESCRIPTION
* vr check does tag exist
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vr_check_tag_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vr_check_tag_req_struct *msg_p = (media_vr_check_tag_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
kal_uint16 db_path[VR_MAX_DB_PATH_LEN + 1];
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
AUD_FUNC_ENTRY(AUD_VR_CHECK_TAG_REQ_HDLR);
/* 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 (msg_p->mode)
{
case MED_VR_ISD_MODE:
if (aud_vr_sd_find_word_id(msg_p->group_id, msg_p->word_id) >= 0)
{
result = MED_RES_ID_EXIST;
}
else
{
result = MED_RES_NO_MATCH;
}
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_NO_MATCH;
}
AUD_VALUE_TRACE(result, vr_ctx.state, -1);
aud_set_result(result);
AUD_SET_EVENT(AUD_EVT_VR_CHECK_TAG);
}
/*****************************************************************************
* FUNCTION
* aud_vr_sync_db_req_hdlr
* DESCRIPTION
* vr sync database
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vr_sync_db_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vr_sync_db_req_struct *msg_p = (media_vr_sync_db_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_SYNC_DB_REQ_HDLR);
/* not allow to sync database 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_sync_db(msg_p->group_id, msg_p->id_length_p, msg_p->id_array);
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_SYNC_DB);
}
/*****************************************************************************
* FUNCTION
* aud_vr_play_tag_req_hdlr
* DESCRIPTION
* vr play tag
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vr_play_tag_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vr_play_tag_req_struct *msg_p = (media_vr_play_tag_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
AUD_FUNC_ENTRY(AUD_VR_PLAY_TAG_REQ_HDLR);
/* not allow to play a tag during session */
if (vr_ctx.state == AUD_VR_STATE_IDLE)
{
vr_ctx.src_mod = ilm_ptr->src_mod_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;
aud_context_p->identifier = msg_p->identifier;
/* 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_play_tag();
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_PLAY_TAG);
}
/*****************************************************************************
* FUNCTION
* aud_vr_get_dir_req_hdlr
* DESCRIPTION
* vr get database dir
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vr_get_dir_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vr_get_dir_req_struct *msg_p = (media_vr_get_dir_req_struct*) ilm_ptr->local_para_ptr;
kal_int32 result;
kal_uint16 db_path[VR_MAX_DB_PATH_LEN + 1];
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
AUD_FUNC_ENTRY(AUD_VR_GET_DIR_REQ_HDLR);
msg_p->folder_name[0] = 0;
/* 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 (msg_p->mode)
{
case MED_VR_ISD_MODE:
kal_wstrcpy(msg_p->folder_name, db_path);
result = MED_RES_OK;
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;
}
AUD_VALUE_TRACE(result, vr_ctx.state, -1);
aud_set_result(result);
AUD_SET_EVENT(AUD_EVT_VR_GET_DIR);
}
/*****************************************************************************
* FUNCTION
* aud_vr_add_tag_req_hdlr
* DESCRIPTION
* vr add tag
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vr_add_tag_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_vr_add_tag_req_struct *msg_p = (media_vr_add_tag_req_struct*) ilm_ptr->local_para_ptr;
kal_uint16 db_path[VR_MAX_DB_PATH_LEN + 1];
kal_int32 result;
kal_int32 id_length;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
AUD_FUNC_ENTRY(AUD_VR_ADD_TAG_REQ_HDLR);
/* not allow to add tags 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))
{
id_length = (msg_p->id_length <= VR_MAX_ADD_ONCE_NUM) ? msg_p->id_length : VR_MAX_ADD_ONCE_NUM;
switch (vr_ctx.mode)
{
case MED_VR_ISD_MODE:
result = aud_vr_sd_add_tag(msg_p->group_id, msg_p->id_array, id_length);
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_ADD_TAG);
}
/*****************************************************************************
* FUNCTION
* aud_vr_abort_req_hdlr
* DESCRIPTION
* vr abort a session
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_vr_abort_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
AUD_FUNC_ENTRY(AUD_VR_ABORT_REQ_HDLR);
if (vr_ctx.state != AUD_VR_STATE_IDLE)
{
switch (vr_ctx.mode)
{
case MED_VR_ISD_MODE:
aud_vr_sd_abort();
break;
case MED_VR_CSI_MODE:
break;
case MED_VR_PSI_MODE:
break;
default:
break;
}
}
AUD_SET_EVENT(AUD_EVT_VR_ABORT);
}
#endif /* __MED_VR_MOD__ */
#endif /* MED_NOT_PRESENT */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -