dvb_app.h 14 KB

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