al_fw.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512
  1. /**
  2. * Copyright(c) 2011 Sunmedia Technologies - All Rights Reserved.
  3. *
  4. * @file
  5. *
  6. * @brief The interface of application framework module.
  7. *
  8. * The file list app framework commponent related APIs.
  9. *
  10. */
  11. #ifndef AL_FW_H_INCLUDED
  12. #define AL_FW_H_INCLUDED
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. #include "al_basictypes.h"
  17. #if defined(CONFIG_DTV_SUPPORT) || defined(CONFIG_ATV_SUPPORT)
  18. #include "al_database.h"
  19. #endif
  20. #ifdef CONFIG_DTV_SUPPORT
  21. #include "al_service.h"
  22. #include "al_multiplex.h"
  23. #include "al_network.h"
  24. #include "al_channel_search.h"
  25. #include "al_event.h"
  26. #include "al_scheduler.h"
  27. #include "al_dvb_monitor.h"
  28. #include "al_psi_monitor.h"
  29. #include "al_prog_reminder.h"
  30. #endif
  31. #include "al_setting.h"
  32. #include "al_time.h"
  33. #ifdef CONFIG_SUPPORT_SUBTITLE
  34. #include "al_subtitle.h"
  35. #endif
  36. #ifdef CONFIG_TT_SUPPORT
  37. #include "al_teletext.h"
  38. #endif
  39. #ifdef CONFIG_SUPPORT_EWS
  40. #include "al_ews_monitor.h"
  41. #endif
  42. /**
  43. * @brief frm wrk module init select.
  44. */
  45. typedef enum{
  46. FW_MAIN_INIT = 1<<0,
  47. FW_DVB_T_INIT = 1<<1,
  48. FW_DVB_C_INIT = 1<<2,
  49. FW_DVB_S_INIT = 1<<3,
  50. FW_ATV_INIT = 1<<4,
  51. FW_FILEPLAYER_INIT = 1<<5,
  52. FW_NETWORK_INIT = 1<<6,
  53. #ifdef CONFIG_ISDB_SYSTEM
  54. FW_DVB_SBTVD_INIT = 1<<7,
  55. #endif
  56. FW_MASK_INIT = FW_MAIN_INIT|FW_ATV_INIT|FW_DVB_S_INIT|FW_DVB_C_INIT|FW_DVB_S_INIT|FW_FILEPLAYER_INIT|FW_NETWORK_INIT,
  57. }AFW_Init_t;
  58. /**
  59. * @brief defines the events notify to the application through call back.
  60. */
  61. typedef enum {
  62. /* EVENT */
  63. FW_EPG_NOWNEXT_UPDATE_EVENT = 0,//00
  64. FW_EPG_SCHEDULE_UPDATE_EVENT, //01
  65. FW_EPG_PREF_SERVICE_NAME_UPDATE_EVENT, //02
  66. FW_EPG_SERIES_UPDATE_EVENT, //03
  67. /* SERVICE */
  68. FW_SERVICE_DELETED_EVENT, //04
  69. FW_SERVICE_UPDATE_EVENT, //05
  70. /* DATABASE */
  71. FW_DB_LOAD_DEFAULT, //06
  72. /* SCHEDULER */
  73. FW_SCHEDULER_EVENT, //07
  74. FW_SCHEDULER_MSG, //08
  75. FW_SCHEDULER_EXPIRE, //09
  76. /* DATA SAVING */
  77. FW_DATASAVING_ATVDB_STORE_START_EVENT, //10
  78. FW_DATASAVING_ATVDB_STORE_END_EVENT, //11
  79. FW_DATASAVING_DVBDB_STORE_START_EVENT, //12
  80. FW_DATASAVING_DVBDB_STORE_END_EVENT, //13
  81. FW_DATASAVING_USERSETING_STORE_START_EVENT, //14
  82. FW_DATASAVING_USERSETING_STORE_END_EVENT, //15
  83. /*DVB and PSI monitor*/
  84. FW_MONITOR_TUNER_LOCKED, //16
  85. FW_MONITOR_TUNER_UNLOCKED, //17
  86. FW_MONITOR_STREAM_NO_DATA, //18
  87. FW_MONITOR_STREAM_HAS_DATA, //19
  88. FW_MONITOR_STREAM_INVALID_DATA, //20
  89. FW_MONITOR_STREAM_UNSUPPORT_DATA, //21
  90. FW_MONITOR_SERVICE_VIDEO_AUDIO_SCRAMBLE, //22
  91. FW_MONITOR_SERVICE_ONLY_VIDEO_SCRAMBLE, //23
  92. FW_MONITOR_SERVICE_ONLY_AUDIO_SCRAMBLE, //24
  93. FW_MONITOR_SERVICE_NO_SCRAMBLE, //25
  94. FW_MONITOR_PARENTAL_LOCKED, //26
  95. FW_MONITOR_PARENTAL_UNLOCKED, //27
  96. FW_MONITOR_SERVICE_MOVE, //28
  97. FW_MONITOR_AUDIO_UPDATE, //29
  98. FW_MONITOR_SUBTITLE_UPDATE, //30
  99. FW_MONITOR_CLOSECAPTION_UPDATE, //add for CC //31
  100. FW_MONITOR_TELETEXT_UPDATE, //32
  101. FW_MONITOR_UPDATE_SERVICE, //33
  102. FW_MONITOR_OTHERTP_SERVICE_FOUND, //34
  103. FW_MONITOR_ADD_SERVICE, //35
  104. FW_MONITOR_UPDATE_SERLCN, //36
  105. FW_MONITOR_REMOVE_SERVICE, //37
  106. FW_MONITOR_FTADATA_UPDATE, //38
  107. FW_MONITOR_REMINDER_EXPIRE, //39
  108. FW_MONITOR_REMINDER_TIME_CHANGE, //40
  109. FW_MONITOR_REPLACE_SERVICE, //41
  110. FW_MONITOR_REPLACE_SIMULCASE_SERVICE, //42
  111. FW_MONITOR_TS_CHANGED, //43
  112. FW_MONITOR_NEW_TSID, //44
  113. FW_MONITOR_TIME_UPDATE, //45
  114. FW_MONITOR_FIND_NEW_TPLIST, //46
  115. FW_MONITOR_PMT_UPDATE, //47
  116. FW_MONITOR_SERTYPE_CHANGED, //48
  117. FW_MONITOR_UPDATE_NETWORK, //49
  118. FM_DTV_AUDIO_STARTED, //50
  119. FM_DTV_AUDIO_SAMPLE_STOPPED, //51
  120. FM_DTV_AUDIO_STOPPED, //52
  121. /*VCHIP module event*/
  122. FW_VCHIP_LOCK, //53
  123. FW_VCHIP_UNLOCK, //54
  124. /* ATV module event*/
  125. FW_NO_SIGNAL, //55
  126. FW_NOT_SUPPORT, //56
  127. FW_SIGNAL_PRESENT, //57
  128. FW_VIP_FINISH, //58
  129. FW_VIP_STATUS, //59
  130. FW_SCART_INPUTSRC_CHANGE, //60
  131. FW_SCART_INPUTSTATUS_CHANGE, //61
  132. FW_HDMI_HDMIDVI_CHANGE, //62
  133. FW_HDMI_ACPTYPE_CHANGE, //63
  134. FW_HDMI_PORTSTATUS, //64
  135. FW_HDMI_PROCESSING, //65
  136. /* Other module event ... */
  137. FW_AUDIO_HEADPHONE_PLUG_IN, //66
  138. FW_AUDIO_HEADPHONE_PLUG_OUT, //67
  139. FW_AUDIO_ADC_TURNOFFSOUND, //68
  140. FW_AUDIO_SIF_SAS_OK,
  141. FW_AUDIO_SIF_SCS_OK,
  142. /* Internel event */
  143. FW_TASK_EXIT = 80, //80
  144. /*TT module event*/
  145. FW_TT_NO_DATA, //81
  146. /*QSD test event*/
  147. FW_QSD_ATV_SetCH, //82
  148. FW_QSD_DTV_SetCH, //83
  149. FW_QSD_Media_Play, //84
  150. FW_QSD_Source_Set, //85
  151. FW_QSD_DTV_SetFreq, //86
  152. /* EWS */
  153. FW_EWS_REC_ANCM = 100, //100
  154. FW_EWS_FIND_AUD, //101
  155. FW_EWS_ACTIVE, //102
  156. FW_EWS_INACTIVE, //103
  157. FW_EWS_NON_ANCM, //104
  158. FW_USB_PLUGIN, //105
  159. FW_USB_PLUGOUT, //106
  160. FW_USB_HUNGTASK, //107
  161. /*AFT*/
  162. FW_AFT_PROCESS_DONE, //108
  163. FW_AFT_ADEMOD_PQSET, //109
  164. /*MHL*/
  165. FW_HDMI_MHL_RCP_CMD, //110
  166. FW_HDMI_MHL_CONNECTED, //111
  167. FW_INVALID_EVENT, //112
  168. FW_ASTRALCN_RECED_PMT, //113
  169. FW_ASTRALCN_START_RECVPMT, //114
  170. /*Nordig logo*/
  171. FW_MONITOR_UPDATE_NWK_STATIC, //115
  172. FW_MONITOR_UPDATE_NWK_RESCAN, //116
  173. /*Auto Test*/
  174. FW_AUTOTEST_RESET = 120, //120
  175. FW_AUTOTEST_UPDATESW, //121
  176. FW_FAC_TEST_SET_SOURCE, //122
  177. FW_FAC_UPDATE_HDCP_KEY, //123
  178. FW_CC_VCHIP_DATA, //124
  179. /*Indonesia EWS*/
  180. FW_INDONESIA_EWS_UPDATE, //125
  181. FW_INDONESIA_EWS_STOP, //126
  182. /*SPD*/
  183. FW_HDMI_SPD_INFOFRAME_UPDATE, //127
  184. #ifdef CONFIG_SUPPORT_AUDIO_CODEC_OVERLAY
  185. FW_AUDIO_LOADCODEC_OK, //128
  186. FW_AUDIO_LOADCODEC_ERROR, //129
  187. FW_AUDIO_LOADCODEC_TYPE, //130
  188. #endif
  189. FW_TVFE_TYPE_BURNNTIME, //131
  190. #ifdef CONFIG_SUPPORT_DETECT_USBPLL
  191. FW_TYPE_USBPLLFail,
  192. #endif
  193. #ifdef CONFIG_CTV_UART_FAC_MODE
  194. FW_RS232_SET_SOURCE,
  195. FW_RS232_SET_VOL,
  196. FW_RS232_SET_BL,//backlight
  197. #endif
  198. FW_ADC_AUTOCHANGE_SOURCE,
  199. FW_ADC_AUTOADJUST,
  200. FW_SIGNAL_IN_PROGRESS,
  201. FW_HDMI_CHANGE_SOURCE,
  202. /*MCCS*/
  203. FW_MCCS_IMAGE_LUMINANCE,
  204. FW_MCCS_IMAGE_CONTRAST,
  205. FW_MCCS_IMAGE_SHARPNESS,
  206. FW_MCCS_IMAGE_SATURATION,
  207. FW_MCCS_IMAGE_RGAIN,
  208. FW_MCCS_IMAGE_GGAIN,
  209. FW_MCCS_IMAGE_BGAIN,
  210. FW_MCCS_IMAGE_ROFFSET,
  211. FW_MCCS_IMAGE_GOFFSET,
  212. FW_MCCS_IMAGE_BOFFSET,
  213. FW_MCCS_IMAGE_COLORLUT_SATGAIN_R,
  214. FW_MCCS_IMAGE_COLORLUT_SATGAIN_Y,
  215. FW_MCCS_IMAGE_COLORLUT_SATGAIN_G,
  216. FW_MCCS_IMAGE_COLORLUT_SATGAIN_C,
  217. FW_MCCS_IMAGE_COLORLUT_SATGAIN_B,
  218. FW_MCCS_IMAGE_COLORLUT_SATGAIN_M,
  219. FW_MCCS_CLOSE_USERMENU,
  220. FW_MCCS_IMAGE_GAMMA_TABLE_INDEX,
  221. FW_MCCS_IMAGE_CONTRAST_AUTO,
  222. FW_MCCS_FLASH_EEPROM_RW,
  223. FW_MCCS_FLASH_CTRL,
  224. FW_MCCS_OSD_HPOSITION,
  225. FW_MCCS_OSD_VPOSITION,
  226. FW_MCCS_AUDIOVOLUME,
  227. FW_MCCS_OSD_LANGUAGE,
  228. FW_MCCS_FBOSD_LANGUAGE,
  229. FW_MCCS_SET_VGASETTING_AUTO,
  230. FW_MCCS_SET_VGASETTING_HPOSITION,
  231. FW_MCCS_SET_VGASETTING_VPOSITION,
  232. FW_MCCS_SET_VGASETTING_CLOCK,
  233. FW_MCCS_SET_VGASETTING_PHASE,
  234. FW_MCCS_POWER_SETMODE,
  235. FW_MCCS_AUDIOMUTE,
  236. FW_MCCS_OSDLOCK,
  237. } AFW_event_t;
  238. /**
  239. * @brief defines different mode of AFW.
  240. *
  241. * event handling may becomes different in different mode. some event may become invalid in given mode.
  242. */
  243. typedef enum
  244. {
  245. FW_NORMAL_VIEW_MODE = 0,
  246. FW_CHAN_SRCH_MODE,
  247. FW_UPGRADE_MODE,
  248. FW_EPG_MODE,
  249. FW_RESET_MODE,
  250. FW_POWER_DOWN_MODE,
  251. FW_QSD_MODE,
  252. FW_RS232_MODE,
  253. } FW_mode_t;
  254. /**
  255. * @brief al get context type define.
  256. */
  257. #define FW_CONTEXT_OP_TYPE_READ (0x10000)
  258. #define FW_CONTEXT_OP_TYPE_WRITE (0x20000)
  259. typedef enum
  260. {
  261. FW_CONTEXT_TYPE_LOCK_STATE = 0, /**< get lock state */
  262. FW_CONTEXT_TYPE_PARENTAL_LOCK_STATE, /**< get parental lock state */
  263. FW_CONTEXT_TYPE_COUNTRY_CODE, /**< get user setting contry code */
  264. FW_CONTEXT_TYPE_TIME_ZONE, /**< get user setting time zone */
  265. FW_CONTEXT_TYPE_TIME_OFFSET, /**< get time offset by time zone except auto */
  266. FW_CONTEXT_TYPE_COUNTRY_REGION, /**< get user setting country region */
  267. FW_CONTEXT_TYPE_COUNTRY_ID, /**< country ID defined in AL_AreaIndex_en */
  268. FW_CONTEXT_TYPE_ONID_MATCH, /**< whether match ONID */
  269. FW_CONTEXT_TYPE_PR, /**< get/set Program Reminder of PVR*/
  270. FW_CONTEXT_TYPE_ISO639LANGUAGE1, /**< get iso 639 language */
  271. FW_CONTEXT_TYPE_ISO639LANGUAGE2, /**< get iso 639 language */
  272. FW_CONTEXT_TYPE_CHECK_OSDLANGUAGEFRENCH, /**< check osd language is french or not */
  273. FW_CONTEXT_TYPE_TIME_DIFFER,
  274. FW_CONTEXT_TYPE_CHECK_FORCE_DST, /**< callback to decide DST on/off */
  275. FW_CONTEXT_TYPE_CHECK_EVENTSTATE, /**< check whether need force processing event callback*/
  276. FW_CONTEXT_TYPE_CHECK_AUS_AREA, /**< check current area is australia**/
  277. FW_CONTEXT_TYPE_GET_IOP_TIME, /**< get IOP sleep time count**/
  278. FW_CONTEXT_TYPE_GET_SAVE_TIME, /**< get last standby saving time**/
  279. FW_CONTEXT_TYPE_GET_CHANNEL_LOCK, /**< get the state of channel lock under hotel mode**/
  280. FW_CONTEXT_TYPE_GET_DBNVM_HANDER, /**< get NVM Hander for DB read/write operation **/
  281. FW_CONTEXT_TYPE_GET_DBRESTORE_SETTER, /**< get callback for DB restore operation **/
  282. FW_CONTEXT_TYPE_GET_Current_Source, /**< get callback for qsd get current source **/
  283. FW_CONTEXT_TYPE_CELLID, /**< get cell id */
  284. FW_CONTEXT_TYPE_GET_CURRENT_TVHDL,
  285. #ifdef CONFIG_VCHIP_SUPPORT
  286. FW_CONTEXT_TYPE_VCHIP_USERSET,
  287. #endif
  288. #ifdef CONFIG_DVB_SYSTEM_DVBC_SUPPORT
  289. FW_CONTEXT_TYPE_OPERATOR, /**< operator defined in al_DVBC_Operator_en */
  290. #endif
  291. FW_CONTEXT_TYPE_RRT_USERSET, /**< get rrt user setting value */
  292. FW_CONTEXT_TYPE_GET_LANUGAGE_NUMBER, /**< get language number */
  293. FW_CONTEXT_TYPE_DB_UPDATED, /**< set database updated */
  294. #ifdef CONFIG_EPG_LANG_DEFAULT_BY_OSDLANG
  295. FW_CONTEXT_TYPE_OSDISO639LANGUAGE1, /**< get OSD iso 639 language */
  296. FW_CONTEXT_TYPE_OSDISO639LANGUAGE2, /**< get OSD iso 639 language */
  297. #endif
  298. FW_CONTEXT_TYPE_TT_LANGUAGE,
  299. FW_CONTEXT_TYPE_TYPE_BURNNTIME,
  300. #ifdef CONFIG_SUPPORT_DETECT_USBPLL
  301. FW_CONTEXT_TYPE_TYPE_USBPLLFail,
  302. #endif
  303. FW_CONTEXT_TYPE_MAX,
  304. } AL_FW_Context_Type_t;
  305. #ifdef CONFIG_VCHIP_SUPPORT
  306. typedef enum
  307. {
  308. FW_VCHIP_TYPE_MPAA,
  309. FW_VCHIP_TYPE_CANE,
  310. FW_VCHIP_TYPE_CANF,
  311. FW_VCHIP_TYPE_TVPG,
  312. FW_VCHIP_TYPE_MAX,
  313. }AL_FW_VCHIP_TYPE;
  314. #endif
  315. typedef enum {
  316. FW_STATUS_NOSIGNAL,
  317. FW_STATUS_SIGNALOK,
  318. } AL_FW_InputStatus_t;
  319. /* Application Callback */
  320. /**
  321. * @brief Application Callback
  322. *
  323. */
  324. typedef al_void (*frmwrk_app_cb_t) (AFW_event_t frmwrk_event, al_void *user_param);
  325. /**
  326. * @brief Callback function prototype to get context
  327. *
  328. */
  329. typedef al_uint32 (*frmwrk_pfOpConext_t)(AL_FW_Context_Type_t ContextType, al_uint32 opera, al_void * pContext, al_uint32 Param);
  330. /**
  331. * @brief framwork init.
  332. *
  333. * This application framework init function will initialize all the middleware components and framework components.
  334. *
  335. * @param frmwrk_init_module[input] frmwrk mudule Initialize select.
  336. *
  337. * @param frmwrk_app_cb[input] App framework callback.
  338. *
  339. * @param frmwrk_context_cb[input] App register to framwork callback for al layer get context.
  340. *
  341. * @return AL_SUCCESS if initialization is successful, AL_FAILURE otherwise.
  342. */
  343. AL_Return_t AL_FW_Init(AFW_Init_t frmwrk_init_module,
  344. frmwrk_app_cb_t frmwrk_app_cb, frmwrk_pfOpConext_t frmwrk_context_cb);
  345. /**
  346. * @brief framwork exit.
  347. *
  348. * This application framework exit function will deinitialize all the middleware components and framework components.
  349. *
  350. * @return AL_SUCCESS if exit is successful, AL_FAILURE otherwise.
  351. */
  352. #ifdef CONFIG_MOD_PACK_DTV
  353. AL_Return_t AL_FW_DTVExit(al_void);
  354. #endif
  355. #ifdef CONFIG_MOD_PACK_DTV
  356. AL_Return_t AL_FW_InitDtvModule(AFW_Init_t frmwrk_init_module);
  357. #endif
  358. /**
  359. * @brief get framwork version.
  360. *
  361. * API gets the al layor version. version info is composed of major and minor version number.
  362. * major and minor version number occupy the least two bytes and the highest two bytes are reserved currently.
  363. * The follow lists the bytes order. Version can by represented with notation of XX XX MAJOR Minor, above which XX represents nothing.
  364. *
  365. * @param version[output] Pointer to Version Number.
  366. *
  367. * @return AL_SUCCESS if get version is successful, AL_FAILURE otherwise.
  368. */
  369. AL_Return_t AL_FW_GetVersion(al_uint32 *version);
  370. #if defined(CONFIG_DTV_SUPPORT) || defined(CONFIG_ATV_SUPPORT)
  371. /**
  372. * @brief To Terminate NVM storing task.
  373. *
  374. * @param IsSync[input]
  375. *
  376. * @return AL_SUCCESS if terminate is successful, AL_FAILURE otherwise.
  377. */
  378. AL_Return_t AL_FW_TermStoreDevice(al_bool IsSync);
  379. /**
  380. * @brief Swtich DB module at all the DVB DB module.
  381. *
  382. * @param eDBType[input] the DB module will be active(other DVB DB Module will deactive).
  383. *
  384. * @return AL_SUCCESS if switch is successful, AL_FAILURE otherwise.
  385. */
  386. AL_Return_t AL_FW_SwitchDBModule(AL_DB_EDBType_t eDBType);
  387. /**
  388. * @brief active DB module.
  389. *
  390. * @param eDBType[input] the DB module will be active.
  391. *
  392. * @return AL_SUCCESS if switch is successful, AL_FAILURE otherwise.
  393. */
  394. AL_Return_t AL_FW_ActiveDBModule(AL_DB_EDBType_t eDBType);
  395. /**
  396. * @brief deactive DB module.
  397. *
  398. * @param eDBType[input] the DB module will be deactive.
  399. *
  400. * @return AL_SUCCESS if switch is successful, AL_FAILURE otherwise.
  401. */
  402. AL_Return_t AL_FW_DeActiveDBModule(AL_DB_EDBType_t eDBType);
  403. /**
  404. * @brief Reload DB module.
  405. *
  406. * @param eDBType[input] the DB module will be reload.
  407. *
  408. * @return AL_SUCCESS if reload is successful, AL_FAILURE otherwise.
  409. */
  410. AL_Return_t AL_FW_ReLoadDBModule(AL_DB_EDBType_t eDBType);
  411. /**
  412. * @brief Check Active Database module.
  413. *
  414. * @param eDBType[input] indicate which database to check
  415. *
  416. * @return al_true if active , al_false otherwise.
  417. */
  418. al_bool AL_FW_CheckActiveDBModule(AL_DB_EDBType_t eDBType);
  419. #endif
  420. /**
  421. * @brief Set FW to specific mode.
  422. *
  423. * @param eFWMode[input] indicated which mode to set.
  424. *
  425. * @return AL_SUCCESS if active is successful, AL_FAILURE otherwise.
  426. */
  427. AL_Return_t AL_FW_ActiveFWModule(FW_mode_t eFWMode);
  428. /**
  429. * @brief Get FW to specific mode.
  430. *
  431. * @param peFWMode[input] indicated which mode to set.
  432. *
  433. * @return AL_SUCCESS if active is successful, AL_FAILURE otherwise.
  434. */
  435. AL_Return_t AL_FW_GetFWModule(FW_mode_t *peFWMode);
  436. /**
  437. * @brief get context callback funcion.
  438. *
  439. * @param ppfGetContext[output] callback function.
  440. *
  441. * @return AL_SUCCESS get callback funcion is successful, AL_FAILURE otherwise.
  442. */
  443. AL_Return_t AL_FW_GetContextCb(frmwrk_pfOpConext_t *ppfOpContext);
  444. /**
  445. * @brief clear fw queue funcion.
  446. *
  447. * @param None.
  448. *
  449. * @return AL_SUCCESS clear queue funcion is successful, AL_FAILURE otherwise.
  450. */
  451. AL_Return_t AL_FW_ReleaseQueue(void);
  452. AL_Return_t AL_FW_ShowQueue(void);
  453. /**
  454. * @brief check dtv demux has data funcion.
  455. *
  456. * @param None.
  457. *
  458. * @return AL_SUCCESS check dtv demux has data function is successful, AL_FAILURE otherwise.
  459. */
  460. AL_Return_t AL_FW_Check_DTVDemux_HasData(al_bool *flag);
  461. #ifdef CONFIG_SUPPORT_NOSIGNAL_AUTO_CHANGE_SOURCE
  462. al_uint32 AL_FW_Check_HDMI_PortStatus(void);
  463. #endif
  464. al_uint32 AL_FW_RW_PseudoEEPROM(unsigned char *extraData);
  465. #ifdef __cplusplus
  466. }
  467. #endif
  468. #endif /* AL_FW_H_INCLUDED */