dvb_app.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475
  1. /********************************************************************
  2. ** File Name: system_app_dvb.h
  3. **
  4. ** File Description: The header file of dvb mainmenu gui object
  5. **
  6. ** Copyright(c) 2009 Sunplus Technologies - All Rights Reserved
  7. **
  8. ** History Information Description
  9. ** Date Author Modification
  10. ** 2009/03/13 James Create
  11. ********************************************************************/
  12. #ifndef _SYSTEM_APPLICATION_DVB_H_
  13. #define _SYSTEM_APPLICATION_DVB_H_
  14. /*header file*/
  15. #include "app_guiobj_popmsg.h"
  16. #include "al_fw.h"
  17. /*macro define*/
  18. #define MON_LISTENER_ID_CODE_FINAL 0xFFFF
  19. #ifdef CONFIG_SUPPORT_PVR
  20. #define PVR_BGTIMESHIFT_START_INTERVAL (100) // 10sec
  21. #endif
  22. /*Type definitions*/
  23. typedef enum
  24. {
  25. DVB_APP_POP_MSG_NONE = 0,
  26. DVB_APP_POP_MSG_DATABASE_EMPTY,
  27. DVB_APP_POP_MSG_CHECK_ANTENNA_INPUT,
  28. DVB_APP_POP_MSG_INVALID_INPUT,
  29. DVB_APP_POP_MSG_NOT_AVAILABLE,
  30. DVB_APP_POP_MSG_NO_RADIO,
  31. DVB_APP_POP_MSG_NO_DTVORDATA,
  32. #ifdef CONFIG_SUPPORT_SUBTITLE
  33. DVB_APP_POP_MSG_NO_SUBTITLE,
  34. #endif
  35. #ifdef CONFIG_SUPPORT_TTX
  36. DVB_APP_POP_MSG_NO_TTX,
  37. #endif
  38. DVB_APP_POP_MSG_CHECKPWD,
  39. DVB_APP_POP_MSG_TEMPSERVICE,
  40. DVB_APP_POP_MSG_NO_SIGNAL,
  41. DVB_APP_POP_MSG_PARENTAL_LOCK,
  42. DVB_APP_POP_MSG_SCRAMBLE,
  43. DVB_APP_POP_MSG_SERVICE_NOT_AVAILABLE,
  44. DVB_APP_POP_MSG_CI_CAM_INIT,
  45. DVB_APP_POP_MSG_CI_CAM_INIT_OK,
  46. DVB_APP_POP_MSG_CI_CAM_ERROR,
  47. DVB_APP_POP_MSG_CI_CAM_REMOVED,
  48. DVB_APP_POP_MSG_CI_AUTH_PROGRESS,
  49. #ifdef SUPPORT_CICAM_NEW_MESSAGE //When "using external Demod" and "No SwitchIC to separate TS between bypass and through pass mode", then this define need be enable to inform user remove CICAM card
  50. DVB_APP_POP_MSG_CI_INFORM_USER_REMOVE_CAM,
  51. #endif
  52. DVB_APP_POP_MSG_NEW_SERVICE,
  53. DVB_APP_POP_MSG_OTH_TP_NEW_SERVICE,
  54. DVB_APP_POP_MSG_SERVICE_REMOVE,
  55. DVB_APP_POP_MSG_DB_SAVE_IN_PROGRESS,
  56. #ifdef CONFIG_SUPPORT_PVR
  57. DVB_APP_POP_MSG_REC_INIT,
  58. DVB_APP_POP_MSG_REC_ENTER_NOT_VALID,
  59. DVB_APP_POP_MSG_REC_WRITE_ERROR,
  60. DVB_APP_POP_MSG_REC_SPEED_NOT_ENOUGH,
  61. DVB_APP_POP_MSG_REC_START,
  62. DVB_APP_POP_MSG_REC_STOP,
  63. DVB_APP_POP_MSG_REC_STOP_CHANNEL_CHANGE,
  64. DVB_APP_POP_MSG_REC_STOP_FOR_RECALL,
  65. DVB_APP_POP_MSG_REC_STOP_SOURCE_CHANGE,
  66. DVB_APP_POP_MSG_REC_STOP_FOR_USBKEY,
  67. DVB_APP_POP_MSG_REC_STOP_FOR_TVRADIOKEY,
  68. DVB_APP_POP_MSG_TIMESHIFT_INIT,
  69. DVB_APP_POP_MSG_AUTOTIMESHIFT_INIT,
  70. DVB_APP_POP_MSG_TIMESHIFT_ENTER_NOT_VALID,
  71. DVB_APP_POP_MSG_TIMESHIFT_SPEED_NOT_ENOUGH,
  72. DVB_APP_POP_MSG_TIMESHIFT_START,
  73. DVB_APP_POP_MSG_TIMESHIFT_STOP,
  74. DVB_APP_POP_MSG_TIMESHIFT_STOP_CHANNEL_CHANGE,
  75. DVB_APP_POP_MSG_TIMESHIFT_STOP_FOR_RECALL,
  76. DVB_APP_POP_MSG_TIMESHIFT_STOP_SOURCE_CHANGE,
  77. DVB_APP_POP_MSG_TIMESHIFT_STOP_FOR_USBKEY,
  78. DVB_APP_POP_MSG_TIMESHIFT_STOP_FOR_TVRADIOKEY,
  79. DVB_APP_POP_MSG_PVR_DISK_CHECKING,
  80. DVB_APP_POP_MSG_PVR_DISK_FULL,
  81. DVB_APP_POP_MSG_PVR_NO_STORAGE,
  82. DVB_APP_POP_MSG_PVR_TIMERLIST_DELETE_ONE,
  83. DVB_APP_POP_MSG_PVR_REMIDER,
  84. DVB_APP_POP_MSG_PVR_REMIDER_CONFIRM,
  85. DVB_APP_POP_MSG_PVR_ASKFORSTANDBY,
  86. DVB_APP_POP_MSG_PVR_TIMESHIFT_STANDBY,
  87. DVB_APP_POP_MSG_REC_NTFS_DIRTY,
  88. DVB_APP_POP_MSG_REC_SCRAMBLE_CHANNEL,
  89. DVB_APP_POP_MSG_REC_REQUIRE_FORMAT,
  90. DVB_APP_POP_MSG_REC_PARTITION_NOT_SET,
  91. DVB_APP_POP_MSG_STOP_MHEG_FOR_REC,
  92. DVB_APP_POP_MSG_STOP_MHEG_FOR_TIMESHIFT,
  93. DVB_APP_POP_MSG_STOP_REC_FOR_MHEG,
  94. DVB_APP_POP_MSG_STOP_TIMESHIFT_FOR_MHEG,
  95. DVB_APP_POP_MSG_PVR_SYSTEM_TIME_CHANGED,
  96. DVB_APP_POP_MSG_PVR_PARTITION_SET_SUCCESSFUL,
  97. DVB_APP_POP_MSG_PVR_ENABLE,
  98. DVB_APP_POP_MSG_PVR_DISABLE,
  99. DVB_APP_POP_MSG_STOP_TSHIFT_TO_REC,
  100. DVB_APP_POP_MSG_STOP_REC_FOR_REMINDER,
  101. DVB_APP_POP_MSG_STOP_TSHIFT_FOR_REMINDER,
  102. DVB_APP_POP_MSG_STOP_REC_FOR_TIMER_REC,
  103. DVB_APP_POP_MSG_STOP_TSHIFT_FOR_TIMER_REC,
  104. DVB_APP_POP_MSG_TIMER_OUT_OF_DATE,
  105. DVB_APP_POP_MSG_INSERT_USB,
  106. DVB_APP_POP_MSG_INSERT_USB_CONFIRM,
  107. DVB_APP_POP_MSG_INVALID_USB,
  108. DVB_APP_POP_MSG_INVALID_USB_CONFIRM,
  109. #endif
  110. DVB_APP_POP_MSG_VIDEO_NOT_SUPPORT,
  111. DVB_APP_POP_MSG_CHANNEL_DELETED,
  112. DVB_APP_POP_MSG_FOUNDDEVICE,
  113. DVB_APP_POP_MSG_KEYLOCK,
  114. DVB_APP_POP_MSG_OVERMAXVOLUME,
  115. #ifdef SUPPORT_CONAX_CAS
  116. DVB_APP_POP_MSG_NO_CARD_INSERTERD,
  117. DVB_APP_POP_MSG_INCORRECT_CONAX_CARD,
  118. DVB_APP_POP_MSG_INCORRECT_CARD,
  119. DVB_APP_POP_MSG_CARD_PROBIEM_CHEAKCAED,
  120. DVB_APP_POP_MSG_NO_ACCESS,
  121. DVB_APP_POP_MSG_NO_ACCESS_GEOGRAPHICAL_BLACKOUT,
  122. DVB_APP_POP_MSG_NO_ACCESS_NETWORK_BLOCK,
  123. #endif
  124. DVB_APP_POP_MSG_RADIO_CHANNEL,
  125. DVB_APP_POP_MSG_EPG_ENABLE,
  126. DVB_APP_POP_MSG_EPG_DISABLE,
  127. #ifdef CONFIG_SUPPORT_MHEG5
  128. DVB_APP_POP_MSG_STOP_SUBTITLE_TO_OPEN_MHEG5,
  129. #endif
  130. #ifdef N32_GAME_SUPPORT
  131. DVB_APP_POP_MSG_IMPORTING_GAME,
  132. DVB_APP_POP_MSG_NO_SIZE_FOR_GAME,
  133. #endif
  134. DVB_APP_POP_MSG_UPDATE_TSID,
  135. DVB_APP_POP_MSG_CIPLUSE_UPGRADE_SUCC,
  136. DVB_APP_POP_MSG_CIPLUSE_UPGRADE_FAILE,
  137. DVB_APP_POP_MSG_HDCP_UPGRADE_SUCC,
  138. DVB_APP_POP_MSG_HDCP_UPGRADE_FAILE,
  139. DVB_APP_POP_MSG_CI_PASS_HDCP_PASS,
  140. DVB_APP_POP_MSG_CI_PASS_HDCP_FAIL,
  141. DVB_APP_POP_MSG_CI_FAIL_HDCP_PASS,
  142. DVB_APP_POP_MSG_CI_FAIL_HDCP_FAIL,
  143. } DVB_DVBAppPopMsgType_t;
  144. typedef enum
  145. {
  146. PROG_STATUS_SCRAMBLE_CLEAR = 0,
  147. PROG_STATUS_AUDIO_VIDEO_SCRAMBLED,
  148. PROG_STATUS_ONLY_VIDEO_SCRAMBLED,
  149. PROG_STATUS_ONLY_AUDIO_SCRAMBLED,
  150. PROG_STATUS_SCRAMBLE_UNKNOW
  151. } Prog_ScrambleStatus_t;
  152. /*Extern Global Functions*/
  153. /*****************************************************************************
  154. ** FUNCTION : DVBApp_CheckProgramType
  155. **
  156. ** DESCRIPTION :
  157. ** Check program lock or temp sevice or vedio mpeg4 and so on
  158. **
  159. ** PARAMETERS :
  160. ** bInit - program state dispose
  161. **
  162. ** RETURN VALUES:
  163. ** SP_ERR_FAILURE - can not playback
  164. ** SP_SUCCESS - playback
  165. *****************************************************************************/
  166. INT32 DVBApp_CheckProgramType(Boolean bPopFlag);
  167. /*****************************************************************************
  168. ** FUNCTION : DVBApp_IsPopupExist
  169. **
  170. ** DESCRIPTION :
  171. ** Judge one pop up exist
  172. **
  173. ** PARAMETERS :
  174. ** u32TargetPopup - pop up type
  175. **
  176. ** RETURN VALUES:
  177. ** None
  178. *****************************************************************************/
  179. UINT8 DVBApp_IsPopupExist(UINT32 u32TargetPopup);
  180. /*****************************************************************************
  181. ** FUNCTION : DVBApp_SchedulePopup
  182. **
  183. ** DESCRIPTION :
  184. ** Schedule dvb popmsg
  185. **
  186. ** PARAMETERS :
  187. ** Popup - popmsg type
  188. **
  189. ** RETURN VALUES:
  190. ** None
  191. *****************************************************************************/
  192. INT32 DVBApp_SchedulePopup(PopmsgParam_t Popup);
  193. /*****************************************************************************
  194. ** FUNCTION : DVBApp_ClosePopup
  195. **
  196. ** DESCRIPTION :
  197. ** Close dvb popmsg
  198. **
  199. ** PARAMETERS :
  200. ** u32ClosePopup - popmsg type
  201. ** dMessage - send message type when close popmsg
  202. **
  203. ** RETURN VALUES:
  204. ** None
  205. *****************************************************************************/
  206. INT32 DVBApp_ClosePopup(UINT32 u32ClosePopup,UINT32 dMessage);
  207. /*****************************************************************************
  208. ** FUNCTION : DVBApp_ResetPopup_Channel
  209. **
  210. ** DESCRIPTION :
  211. ** Reset all popup state
  212. **
  213. ** PARAMETERS :
  214. ** None
  215. **
  216. ** RETURN VALUES:
  217. ** None
  218. *****************************************************************************/
  219. INT32 DVBApp_ResetPopup_Channel(void);
  220. /*****************************************************************************
  221. ** FUNCTION : DVBApp_HideMsgPopupDisplay
  222. **
  223. ** DESCRIPTION :
  224. ** Hide popup display
  225. **
  226. ** PARAMETERS :
  227. ** None
  228. **
  229. ** RETURN VALUES:
  230. ** None
  231. *****************************************************************************/
  232. INT32 DVBApp_HideMsgPopupDisplay(void);
  233. /*****************************************************************************
  234. ** FUNCTION : DVBApp_WkTimer_SetGuiObjects
  235. **
  236. ** DESCRIPTION :
  237. **
  238. **
  239. ** PARAMETERS :
  240. ** dMessage -
  241. ** pValue -
  242. **
  243. ** RETURN VALUES:
  244. ** None
  245. *****************************************************************************/
  246. INT32 DVBApp_WkTimer_SetGuiObjects(UINT32 dMessage, void *pValue);
  247. /*****************************************************************************
  248. ** FUNCTION : DVBApp_RestoreOnStandby
  249. **
  250. ** DESCRIPTION :
  251. ** dvb restore when standby
  252. **
  253. ** PARAMETERS :
  254. ** None
  255. **
  256. ** RETURN VALUES:
  257. ** None
  258. *****************************************************************************/
  259. void DVBApp_RestoreOnStandby(void);
  260. /*****************************************************************************
  261. ** FUNCTION : DVBApp_DataApplicationSwitch
  262. **
  263. ** DESCRIPTION :
  264. ** OSD layer 2 switch
  265. **
  266. ** PARAMETERS :
  267. ** u32flag - switch flag
  268. **
  269. ** RETURN VALUES:
  270. ** None
  271. *****************************************************************************/
  272. INT32 DVBApp_DataApplicationSwitch(UINT32 u32flag);
  273. /*****************************************************************************
  274. ** FUNCTION : DVBApp_ClearStatus
  275. **
  276. ** DESCRIPTION :
  277. ** clear flag status when change source
  278. **
  279. ** PARAMETERS :
  280. ** None
  281. **
  282. ** RETURN VALUES:
  283. ** None
  284. *****************************************************************************/
  285. void DVBApp_ClearStatus(void);
  286. /*****************************************************************************
  287. ** FUNCTION : DVBApp_NoSignal_TimerReset
  288. **
  289. ** DESCRIPTION :
  290. **
  291. **
  292. ** PARAMETERS :
  293. **
  294. ** RETURN VALUES:
  295. **
  296. *****************************************************************************/
  297. void DVBApp_NoSignal_TimerReset(void);
  298. void DVBApp_NoSignal_StandbyTimerReset(void);
  299. /*****************************************************************************
  300. ** FUNCTION : DVBApp_GetScrambleStatus
  301. **
  302. ** DESCRIPTION :
  303. ** clear flag status when change source
  304. **
  305. ** PARAMETERS :
  306. ** None
  307. **
  308. ** RETURN VALUES:
  309. ** None
  310. *****************************************************************************/
  311. Boolean DVBApp_GetScrambleStatus(void);
  312. #ifdef CONFIG_SUPPORT_OTA_UPGRADE
  313. /*****************************************************************************
  314. ** FUNCTION : DVBApp_GetOTAStatus
  315. **
  316. ** DESCRIPTION :
  317. ** clear flag status when cancel or finish OTA upgrade
  318. **
  319. ** PARAMETERS :
  320. ** None
  321. **
  322. ** RETURN VALUES:
  323. ** None
  324. *****************************************************************************/
  325. Boolean DVBApp_GetOTAStatus(void);
  326. /*****************************************************************************
  327. ** FUNCTION : DVBApp_SetOTAStatus
  328. **
  329. ** DESCRIPTION :
  330. ** set flag status
  331. **
  332. ** PARAMETERS :
  333. ** None
  334. **
  335. ** RETURN VALUES:
  336. ** None
  337. *****************************************************************************/
  338. void DVBApp_SetOTAStatus(Boolean b_flag);
  339. #endif
  340. /*****************************************************************************
  341. ** FUNCTION : DVBApp_GetScrambleAttrib
  342. **
  343. ** DESCRIPTION :
  344. ** get current program scramnle attrib
  345. **
  346. ** PARAMETERS :
  347. ** none
  348. **
  349. ** RETURN VALUES:
  350. ** TRUE - SCRAMBLE ATTRIB
  351. ** FALSE - UN SCRAMBLE ATTRIB
  352. *****************************************************************************/
  353. Boolean DVBApp_GetScrambleAttrib(void);
  354. /*****************************************************************************
  355. ** FUNCTION : DVBApp_CheckServiceNotAvailable
  356. **
  357. ** DESCRIPTION :
  358. ** Check current program state is not available or not
  359. **
  360. ** PARAMETERS :
  361. ** none
  362. **
  363. ** RETURN VALUES:
  364. ** TRUE - service not available
  365. ** FALSE - not service not available
  366. *****************************************************************************/
  367. Boolean DVBApp_CheckServiceNotAvailable(void);
  368. UINT8 APP_GetPlaybackPauseState(void);
  369. void APP_SetPlaybackPauseState(UINT8 state);
  370. void DVBApp_RemoveUnstableService(void);
  371. void DVBApp_ResetDvbSpecRule(UINT8 u8Area);
  372. #ifdef CONFIG_SUPPORT_PVR
  373. void DVBAPP_Pvr_fileplay_Setflag(Boolean flag);
  374. void DVBApp_SetBGTimeshift(UINT8 u8StartInterval);
  375. INT32 DVBApp_StopTimeshift(Boolean bIsStopRec);
  376. INT32 DVBApp_StopRecord(void);
  377. UINT32 DVBAPP_Pvr_GetStopTimer_id(void);
  378. void DVBApp_Pvr_SetStopTimer_id(void);
  379. void DVBApp_SetPVRSwitchSRC(Boolean Switch);
  380. UINT32 DVBApp_GetTimerRECStartTime(void);
  381. UINT32 DVBApp_GetReminderTime2Show(void);
  382. UINT32 DVBApp_PVRRec_SetTimerCancle(void);
  383. void DVBApp_SetRemType(AL_PR_type_t remtype);
  384. AL_PR_type_t DVBApp_GetRemType(void);
  385. AL_RecHandle_t DVBApp_GetSCHProgHandle(void);
  386. Boolean DVBApp_GetTVRadioSwap(void);
  387. #endif
  388. #ifdef CONFIG_SUPPORT_SSU_UPGRADE
  389. typedef enum AU_Timer_state
  390. {
  391. AU_GetTime =1,/*system setting have time(ssu's schedule time - Current time).*/
  392. AU_TimeCom, /*ssu's schedule time is coming*/
  393. AU_GoToUpgrade,/* go to upgrade*/
  394. AU_MAX,
  395. }AU_Timer_state_e;
  396. /* True: yes, we need auto upgrade. False: Sorry, we don't need now.*/
  397. void DVBApp_SetAutoUpgrade(Boolean state);
  398. /* you can check whether auto upgrade or not.*/
  399. Boolean DVBApp_IsAutoUpgrade(void);
  400. /*AU: auto upgrade*/
  401. void DVBApp_SetAU_Sate(AU_Timer_state_e state);
  402. #endif
  403. #ifdef SUPPORT_DYNAMIC_MULTIPLEXES
  404. UINT8 DVBApp_IsUserConfimed_SrvList(void);
  405. #endif
  406. Boolean DVBApp_GetForceProcessEventState(void);
  407. /*****************************************************************************
  408. ** FUNCTION : DVBApp_fw_callback
  409. **
  410. ** DESCRIPTION :
  411. **
  412. **
  413. ** PARAMETERS :
  414. ** None
  415. **
  416. ** RETURN VALUES:
  417. ** None
  418. *****************************************************************************/
  419. INT32 DVBApp_fw_callback(AFW_event_t event, void *param);
  420. void DVBApp_VolumeKeyHandler(UINT32 dMessage, UINT8 IsCECKey);
  421. #ifdef CONFIG_DVB_SYSTEM_DVBS_SUPPORT
  422. void DVBApp_LoadCustomerDB(AL_DB_EDBType_t eDBType);
  423. void DVBApp_LoaddefaultDB(AL_DB_EDBType_t eDBType);
  424. void DVBApp_RemoveAllService(AL_DB_EDBType_t eDBType);
  425. #endif
  426. void DVBApp_CheckSrvType(al_uint8 SdtSrvType, al_uint8 SrvType, al_uint8 VideoCount, al_uint8 AudioCount, AL_DB_ERecordType_t *RetSrvType);
  427. void DVBApp_CheckNotVisibleBySrvType(al_uint8 SdtSrvType, al_uint8 bTempSrv, al_uint8 *bNotVisible, al_uint8 *bNotNeedSave);
  428. INT32 _DVBApp_DataApplicationStatus(UINT32 u32module);
  429. void DVBApp_SetBootAutoUpGrade(Boolean flag);
  430. Boolean DVBApp_IsBootUpGrade(void);
  431. Boolean DVBApp_GetUnstableState(void);
  432. void DVBApp_SetUnstableState(Boolean bstate);
  433. #if defined (CONFIG_SUPPORT_TTX ) && defined(CONFIG_SUPPORT_TTX_DISP_FOR_AUS)
  434. void APP_SetTTXTimer(UINT8 time);
  435. UINT8 APP_GetTTXTimer(void);
  436. #endif
  437. #if defined(CONFIG_CIPLUS_SUPPORT) && defined(CONFIG_SUPPORT_MHEG5)
  438. void DVBApp_ApplyAppMMIDisplay(void);
  439. #endif
  440. Boolean DVBApp_GetFindNewTSIDFlag(void);
  441. Boolean DVBApp_ClearFindNewTSIDFlag(void);
  442. #ifdef CONFIG_SUPPORT_EWS
  443. al_uint8 DVBApp_GetEWSMode(void);
  444. void DVBApp_ResetEWS(void);
  445. #endif
  446. #endif