/******************************************************************** ** File Name: al_sbtvd_subtitle.h ** ** File Description: This file provide the APIs for SBSUB module ** ** Copyright(c) 2008 Sunplus Technologies - All Rights Reserved ** ** History Information Description ** Date Author Modification ** ********************************************************************/ #ifndef __AL_SBTVD_SUBTITLE_H__ #define __AL_SBTVD_SUBTITLE_H__ /******************************************************************** Including Files ********************************************************************/ #include "al_basictypes.h" /******************************************************************** Macros ********************************************************************/ #define MAX_SBSUB_NUM 32 /*total length is 8 bits, every char is 8 bits.*/ /******************************************************************** Type definitions ********************************************************************/ typedef struct _AL_SBSUB_pid_info_t { al_uint16 wPid; } AL_SBSUBPidInfo_t; /******************************************************************** Extern Global Functions ********************************************************************/ /** * @brief subtitle start function. * * @param Index user selects subtitle number on the subtitle menu, and using index, the special * subtitle descriptor information will be gotten from subtitle descriptor buffer. * * @return AL_SUCCESS if starting is successful, AL_FAILURE otherwise. */ AL_Return_t AL_SBSUB_Start(al_int Index); /** * @brief subtitle stop function. * * @param al_void. * * @return AL_SUCCESS if stoping is successful, AL_FAILURE otherwise. */ AL_Return_t AL_SBSUB_Stop(al_void); /** * @brief subtitle reset function. * * The buffer that stores subtitle descriptor information is static buffer, so * it needs be reset with following initialization or a programe change. * * @param al_void. * * @return AL_SUCCESS if reseting is successful, AL_FAILURE otherwise. */ AL_Return_t AL_SBSUB_Reset(al_void); /** * @brief the function can get the valid subtitle descriptor total number. * * Before the subtitle module starts to work, it needs get the subtitle descpritor * total number. if the total number is more than 0, the subtitle module will start * to work. otherwise stop to work. * * @param *GetTotalNum get the dvb subtitle total number. * * @return AL_SUCCESS if getting total number is successful, AL_FAILURE otherwise. */ AL_Return_t AL_SBSUB_GetTotalNum(al_uint32 *GetTotalNum); /** * @brief the function can get the parsed subtitle descriptor information. * * After creating the subtitle menu with pressing subtitle key, the subtitle menu * with all subtitle types will be shown on the screen. So when displayed information * is inited, the parsed subtitle descriptor information will be gotten. * * @note Index value is less than the total subtitle descriptor number. * * @param Index using the index can get special subtitle descriptor information from * the buffer. * * @param *SubtitleDescInfo it will store the gotten subtitle descriptor information. * * @return AL_SUCCESS if getting subtitle descriptor information is successful, * AL_FAILURE otherwise. */ AL_Return_t AL_SBSUB_GetDescInfo(al_int Index, AL_SBSUBPidInfo_t *SubtitleDescInfo); /** * @brief the function can get the subtitle start status. * * @param* None. * * @return AL_SUCCESS if getting subtitle start flag is true, * AL_FAILURE otherwise. */ AL_Return_t AL_SBSUB_GetStartFlag(void); /** * @brief the function can set subtitle display window freezed or not. * * After the video is freezed with pressing freeze key, if the subtitle is * displaying on the screen, the subtitle needs be freezed. Else the * video isn't freezed with pressing freeze key again, if the subtitle is * displaying on the screen, the subtitle needn't be freezed. * * @param FreezeStatus if freeze is true, the subtitle needs be freezed. * Else if freeze is false, the subtitle needn't be freezed. * * @return AL_SUCCESS if setting freeze is successful, * AL_FAILURE otherwise. */ AL_Return_t AL_SBSUB_SetFreeze(al_bool FreezeStatus); #ifdef CONFIG_SUPPORT_PVR AL_Return_t AI_SBSUB_GetFileTsSubInfo(al_void); #endif #endif /*__SPAL_SBSUB_H__*/