appmonitor.c中增加如下函数,导致的原因是EITBUF中缺少SATIDX的匹配,无法提取EPG信息
#ifdef DVBS
static void _Monitor_PhysicalChannelNumber(void)
{
extern void MApi_EPG_DB_SetMonitorSatIndex(MS_U16 u16SatIdx);
MS_U16 MApi_EPG_DB_GetMonitorSatIndex(void);
eSERVICETYPE srvTyp = MApi_DB_CM_GetCurrentServiceType();
MS_U16 curPos = MApi_DB_CM_GetCurrentPosition(srvTyp);
MS_U16 u16PCN = MApi_DB_CM_GetPhysicalChannelNumber(srvTyp,curPos);
if( MApi_EPG_DB_GetMonitorSatIndex() == 0xFFFF)
{
MApi_EPG_DB_SetMonitorSatIndex(u16PCN);
}
}
#endif
static void _appMonitor_Task(void)
{
..................
_Monitor_AutoUpdateTime();
#ifdef DVBS
_Monitor_PhysicalChannelNumber();
#endif
..................
}
|