⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dvb_eit.h

📁 DVB软件,基于CT216软件的开发源程序.
💻 H
📖 第 1 页 / 共 2 页
字号:
    u8  u8S1_Ver;		 /*6*/ /**< 1-4 days schedule event version */
    u8  u8S2_Ver;        /*7*/ /**< 5-7 days schedule event version */
    u8  u8PF_S_Flag;	 /*8*/ /**< Indicate what kind of event in this service, bit1: present, bit2:following, bit3:Schedule */
}_Pack_Struct_
ST_EIT_HEADER_T;

void DVB_EitDbInit(void);
/*! \fn void DVB_EitDbInit(void)
\brief Initial EIT database.
*/

EN_EITDB_STATUS DVB_EitGetPF_Event(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx, u8 u8PF_Flag, u16 *pu16RetIdx, ST_EIT_EVENT *pstEventInfo);
/*! \fn EN_EITDB_STATUS DVB_EitGetPF_Event(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx, u8 u8PF_Flag, ST_EIT_EVENT *pstEventInfo)
\brief Get present or following event information by indicating service.
\param enSrvType (Input)  TV or Radio list
\param u16SrvIdx (Input) the service index
\param u8PF_Flag (Input) PRESENT_MASK: get present, FOLLOWING_MASK: get following
\param pstEventInfo (Output) event information you want
\return EN_EITDB_STATUS, see function error type.
*/

EN_EITDB_STATUS DVB_EitGetPF_Event_Pseudo(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx, u8 u8PF_Flag, u16 *pu16RetIdx, ST_EIT_EVENT *pstEventInfo);
/*! \fn EN_EITDB_STATUS DVB_EitGetPF_Event_Pseudo(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx, u8 u8PF_Flag, ST_EIT_EVENT *pstEventInfo)
\brief Get present or following event information by indicating service.
\brief If no PF in TS, it would check 1st and 2nd schedule events with current time. If succeeds, take it as pseudo PF. 
\param enSrvType (Input)  TV or Radio list
\param u16SrvIdx (Input) the service index
\param u8PF_Flag (Input) PRESENT_MASK: get present, FOLLOWING_MASK: get following
\param pstEventInfo (Output) event information you want
\return EN_EITDB_STATUS, see function error type.
*/

EN_EITDB_STATUS DVB_EitGetS_FirstEvent(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx, u32 u32UTCTimeStart, u32 u32UTCTimeEnd, u16 *pu16RetIdx, u16 *pu16EventNum, ST_EIT_EVENT *pstEventInfo);
/*! \fn EN_EITDB_STATUS DVB_EitGetS_FirstEvent(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx, u32 u32UTCTimeStart, u32 u32UTCTimeEnd, u16 *pu16RetIdx, u16 *pu16EventNum, ST_EIT_EVENT *pstEventInfo)
\brief Get the first schedule event in your indicating time range.
\param enSrvType (Input)  TV or Radio list
\param u16SrvIdx (Input) the service index
\param u32UTCTimeStart (Input) time range start, unit is second
\param u32UTCTimeEnd (Input) time range end, unit is second
\param pu16RetIdx (Output) Database Index of this event.
\param pu16EventNum (Output) Total event numbers in this time range.
\param pstEventInfo (Output) event information you want
\return EN_EITDB_STATUS, see function error type.
*/

EN_EITDB_STATUS DVB_EitGetS_NextEvent(u16 u16DbIdx, u16 *pu16RetIdx, ST_EIT_EVENT *pstEventInfo);
/*! \fn EN_EITDB_STATUS DVB_EitGetS_NextEvent(u16 u16DbIdx, u16 *pu16RetIdx, ST_EIT_EVENT *pstEventInfo)
\brief Get the next schedule event by database index of current event.
\param u16DbIdx (input)  database index of current event.
\param pu16RetIdx (output)  database index of next event.
\param pstEventInfo (output) next event information you want.
\return EN_EITDB_STATUS, see function error type.
*/

EN_EITDB_STATUS DVB_EitGetS_PreEvent(u16 u16DbIdx, u16 *pu16RetIdx, ST_EIT_EVENT *pstEventInfo);
/*! \fn EN_EITDB_STATUS DVB_EitGetS_PreEvent(u16 u16DbIdx, u16 *pu16RetIdx, ST_EIT_EVENT *pstEventInfo)
\brief Get the previous schedule event by database index of current event.
\param u16DbIdx (input)  database index of current event.
\param pu16RetIdx (output)  database index of previous event.
\param pstEventInfo (output) previous event information you want.
\return EN_EITDB_STATUS, see function error type.
*/

EN_EITDB_STATUS DVB_EitGetEventByDbIdx(u16 u16EitDbIdx, ST_EIT_EVENT *pstEventInfo);
/*! \fn EN_EITDB_STATUS DVB_EitGetEventByDbIdx(u16 u16EitDbIdx, ST_EIT_EVENT *pstEventInfo)
\brief Get schedule event by event database index.
\param u16DbIdx (input)  event database index.
\param pstEventInfo (output) event information you want.
\return EN_EITDB_STATUS, see function error type.
*/

EN_EITDB_STATUS DVB_EitGetHeaderInfoBySrvIdx(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx, ST_EIT_HEADER_T *pstEitHeader);
/*! \fn EN_EITDB_STATUS DVB_EitGetHeaderInfoBySrvIdx(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx, ST_EIT_HEADER_T *pstEitHeader)
\brief Get EIT header information
\param enSrvType (Input)  TV or Radio list
\param u16SrvIdx (Input) the service index
\param u16DbIdx (input)  event database index.
\param pstEitHeader (output) eit header information you want
\return EN_EITDB_STATUS, see function error type.
*/

EN_EITDB_STATUS DVB_EitDelHeader(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx);
/*! \fn EN_EITDB_STATUS DVB_EitDelHeader(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx)
\brief Delete EIT header and event of indicating service
\param enSrvType (Input)  TV or Radio list
\param u16SrvIdx (Input) the service index
\return EN_EITDB_STATUS, see function error type.
*/

EN_EITDB_STATUS DVB_EitDelEventBySrvIdx(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx);
/*! \fn EN_EITDB_STATUS DVB_EitDelEventBySrvIdx(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx)
\brief Delete event of indicating service
\param enSrvType (Input)  TV or Radio list
\param u16SrvIdx (Input) the service index
\return EN_EITDB_STATUS, see function error type.
*/

void DVB_EitDbRetrieveEvent(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx, EN_RETRIEVE_EVENT_TYPE enEventType);
/*! \fn void DVB_EitDbRetrieveEvent(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx, EN_RETRIEVE_EVENT_TYPE enEventType)
\brief Retrieve event by service.
\param enSrvType (Input)  TV or Radio list
\param u16SrvIdx (Input) the service index
\param enEventType (Input), see EN_RETRIEVE_EVENT_TYPE.
\Note1: If you don't want to retrieve event, you must call DVB_EitCloseRetrieveEvent to turn off retrieve process.
\Note2: Everytime when you want to retrieve event of another service, you need to call DVB_EitCloseRetrieveEvent() first, then DVB_EitDbRetrieveEvent again.
\Note3: If you want to retrieve event of current service, you need to polling this function.
*/

void DVB_EitCloseRetrieveEvent(void);
/*! \fn void DVB_EitCloseRetrieveEvent(void)
\brief Close retrieve event process.
\Note: If you don't want to retrieve event, you must call DVB_EitCloseRetrieveEvent to turn off retrieve process.
*/

void DVB_EitCheckEventTimePoll(void);
/*! \fn void DVB_EitCheckEventTimePoll(void)
\brief check event time is valid or not in event database.
\Note: AP must polling this function for updating event database.
*/

EN_EITDB_STATUS DVB_EitGetEventByEventId(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx, u16 u16EventId, ST_EIT_EVENT *pstEventInfo);
/*! \fn EN_EITDB_STATUS DVB_EitGetEventByEventId(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx, u16 u16EventId, ST_EIT_EVENT *pstEventInfo)
\brief Get event by event id.
\param enSrvType (Input)  TV or Radio list
\param u16SrvIdx (Input) the service index
\param u16EventId (Input) event id
\param pstEventInfo (output) event information you want
\return EN_EITDB_STATUS, see function error type.
*/

#ifdef ATSC_SYSTEM
EN_EITDB_STATUS DVB_EitGetEventByStartTime (u16 u16SrvIdx, u32 u32StartTime, ST_EIT_EVENT *pstEventInfo);
/*! \fn EN_EITDB_STATUS DVB_EitGetEventByStartTime (u16 u16SrvIdx, u32 u32StartTime, ST_EIT_EVENT *pstEventInfo)
\brief Get event by event start time.
\param u16SrvIdx (Input) the service index
\param pstEventInfo (output) event information you want
\return EN_EITDB_STATUS, see function error type.
*/

void DVB_EitMGTChangeNotify (void);
/*! \fn void DVB_EitMGTChangeNotify (void)
\brief inform EPG module that the MGT version change.
\return none.
*/
#endif /* end #ifdef ATSC_SYSTEM */

u8 DVB_EitGetPresentRating(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx);
/*! \fn u8 DVB_EitGetPresentRating(EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx)
\brief Get rating of present event by event.
\param enSrvType (Input)  TV or Radio list
\param u16SrvIdx (Input) the service index
\return rating value, 0: undefined or no rating, 0x01~0x0F: minimum age = rating + 3 years, 0x10~0xFF: defined by broadcaster
*/

u16 DVB_EitGetExtendedText(u16 u16EitDbIdx, u8 *pu8TextBuf, u16 u16MaxLength);
/*! \fn u16 DVB_EitGetExtendedText(u16 u16EitDbIdx, u16 u16MaxLength, u8 *pu8TextBuf)
\brief Get text of extended descriptor event.
\param u16DbIdx (Input)  event database index.
\param pu8TextBuf (Input/Output) a point to text buffer.
\param u16MaxLength (Input) max length of Text buffer.
\return length of text. If the value is 0, it means length of buffer is not enough or extended text dosen't exist.
*/

void DVB_EitDelAllEvent (void);
/*! \fn void DVB_EitDelAllEvent(void)
\brief delete all event function.
*/

void DVB_EitNormalResart (EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx);
/*! \fn void DVB_EitNormalResart (EN_SERVICE_TYPE enSrvType, u16 u16SrvIdx)
\brief Restart EIT section monitor.
\param enSrvType (Input)  TV or Radio list
\param u16SrvIdx (Input) the service index
*/

bool8 EITBKStop (void);
/*! \fn bool8 EITBKStop (void)
\brief stop to retrieve the first 4 days (Table ID = 0x50) EITs in normal mode
\return TRUE
*/

bool8 EITBKStartAll(void);
/*! \fn bool8 EITBKStartAll (void)
\brief start to retrieve the schedule (Table ID = 0x50 & 0x51) EITs in EPG mode
\return TRUE
*/

bool8 EITBKStopAll(void);
/*! \fn bool8 EITBKStopAll (void)
\brief stop to retrieve the schedule (Table ID = 0x50 & 0x51) EITs in EPG mode
\return TRUE
*/

EN_DRV_RESULT DVB_EitInit (void);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -