mid_mheg5.h 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752
  1. #ifndef MID_MHEG5_H
  2. #define MID_MHEG5_H
  3. //#include <pm_misc.h>
  4. //#include <pm_audio.h>
  5. //#include <pm_video.h>
  6. #define MHEG5APP_RESET_AVC (1<<0) // reset AV control related.
  7. #define MHEG5APP_RESET_SIQ (1<<1) // reset siquery, after reset siquery, the PAT/PMT must be callback to MHEG5 again before launching MHEG5
  8. #define MHEG5APP_RESET_SIQ_PART (1<<2) //reset siquery partially, due to trigger from Voyager.
  9. #define MHEG5APP_RESET_IR (1<<3) // reset IR mapping for MHEG5.
  10. #define MHEG5APP_STATUS_APP(flag) (flag & 0xFF000000)
  11. #define MHEG5APP_STATUS_APP_OFF (0 << 24) // MHEG5 application support off
  12. #define MHEG5APP_STATUS_APP_ON (1 << 24) // MHEG5 application support on
  13. #define MHEG5APP_STATUS_MID(flag) (flag & 0x00FF0000)
  14. #define MHEG5APP_STATUS_MID_OFF (0 << 16) // MHEG5 middleware off
  15. #define MHEG5APP_STATUS_MID_ON (1 << 16) // MHEG5 middleware on
  16. #define MHEG5APP_STATUS_MID_PAUSE (2 << 16) // MHEG5 middleware pause
  17. #define MHEG5APP_STATUS_AVKEEP_ON (16 << 16)//av keep running
  18. #define MHEG5APP_STATUS_AVKEEP_OFF (0 << 16)//no specified state
  19. #define MHEG5APP_STATUS_DSM(flag) (flag & 0x0000FF00)
  20. #define MHEG5APP_STATUS_DSM_OFF (0 << 8) // MHEG5 DSM-CC applicaton off
  21. #define MHEG5APP_STATUS_DSM_ON (1 << 8) // MHEG5 DSM-CC application on
  22. #define MHEG5APP_STATUS_OSD(flag) (flag & 0x000000FF)
  23. #define MHEG5APP_STATUS_OSD_OFF 0 // MHEG5 OSD occupied off
  24. #define MHEG5APP_STATUS_OSD_ON 1 // MHEG5 OSD occupied on
  25. #define MHEG5APP_STATUS_OSD_UPDATED 2 // MHEG5 OSD occupied on and has updated.
  26. #define MHEG5APP_INIT_OK 0 // MHEG5 app init succeeded
  27. #define MHEG5APP_INIT_FAILED (-1) // MHEG5 app init failed in MHEG5 stack
  28. #define MHEG5APP_INIT_NOBONDING (-2) // MHEG5 app init failed due to IC no bonding
  29. #define MHEG5APP_PID_CODEC(pid, codec) (((unsigned int)pid & 0xFFFF) | ((unsigned int)codec << 16))
  30. #define MHEG5APP_PID(pid_codec) (pid_codec&0xFFFF)
  31. #define MHEG5APP_CODEC(pid_codec) (pid_codec>>16)
  32. #define MHEG5APP_SUBT_HIDE_NOTIFY_ONLY (0) // used for notify the current subt show/hide status to User App
  33. #define MHEG5APP_SUBT_HIDE_MAIN_APP (1<<0) // subtitle hide request from User App
  34. #define MHEG5APP_SUBT_HIDE_DSMCC_APP (1<<1) // subtitle hide request from DSM-CC App
  35. #define MHEG5APP_SUBT_HIDE_VPP_SCALE (1<<2) // subtitle hide request VPP scaling
  36. #define MHEG5APP_SUBT_HIDE_VPP_POSITION (1<<3) // subtitle hide request VPP position offset
  37. #define MHEG5APP_SUBT_HIDE_VID_PAUSE (1<<4) //subtitle hide request when video pause
  38. typedef struct _Mheg5AppDateTime_s
  39. {
  40. /* Examples show the values that should be set to indicate the 1st February,
  41. * 2003 at 45 seconds past 1:23 PM.
  42. */
  43. /* Year, including century.
  44. * e.g. 2003
  45. */
  46. unsigned int year;
  47. /* Month number from 1 to 12, representing January to December
  48. * e.g. 2
  49. */
  50. unsigned int month;
  51. /* Day of the current month, from 1 to 31
  52. * e.g. 1
  53. */
  54. unsigned int day;
  55. /* Hour in 24 hour format, in the range 0 to 23
  56. * e.g. 13
  57. */
  58. unsigned int hour;
  59. /* Minute, in the range 0 to 59
  60. * e.g. 23
  61. */
  62. unsigned int minute;
  63. /* Second in the range 0 to 59
  64. * e.g. 45
  65. */
  66. unsigned int second;
  67. }MHEG5APP_DateTime_t;
  68. typedef struct _Mheg5AppTvAspect_s
  69. { // declare in drv_display but application should include mid_display.h.
  70. unsigned int dis_aspect; // SCALING_WIDE_MODE_16X9, SCALING_WIDE_MODE_4X3, SCALING_WIDE_MODE_PHXPV
  71. unsigned int ps_mode; // NONE, LETTERBOX, PANSCAN
  72. }MHEG5APP_TvAspect_t;
  73. typedef struct _Mheg5AppDvbLocator_s
  74. {
  75. unsigned short original_network_id;
  76. unsigned short transport_stream_id;
  77. unsigned short service_id;
  78. }MHEG5APP_DvbLocator_t;
  79. typedef struct
  80. {
  81. unsigned int len;
  82. unsigned char * data;
  83. } MHEG5APP_String_t;
  84. typedef struct
  85. {
  86. MHEG5APP_DvbLocator_t locator;
  87. unsigned int start_date_mjd;
  88. MHEG5APP_DateTime_t start_time;
  89. MHEG5APP_DateTime_t duration;
  90. MHEG5APP_String_t event_name;
  91. MHEG5APP_String_t event_text;
  92. unsigned char event_rating;
  93. unsigned char content_classify;
  94. BOOLEAN free_CA_mode;
  95. } MHEG5APP_EventDetails_t;
  96. typedef enum _Mheg5AppCallbackType_e
  97. {
  98. // callback for notification
  99. // notify at the first OSD update after call MHEG5APP_Start(...)
  100. // parameter : None.
  101. MHEG5APP_NOTIFY_OSD_UPDATE = 0,
  102. // notify MHEG5 tuner new index behavior with parameter Normal(real program change)
  103. // or Quiet(internal program change of MHEG5 DSM-CC applicaiton)
  104. // parameter : FALSE means "normal", this is real program change.
  105. // : TURE means "quiet", this is internal program change of MHEG5 DSM-CC application.
  106. MHEG5APP_NOTIFY_TUNE_INFO_SWITCH,
  107. // notify MHEG5 tuner new index(normal program change)
  108. // parameter : pointer to the structure MHEG5APP_DvbLocator_t
  109. MHEG5APP_NOTIFY_TUNE_NEW_INDEX,
  110. // notify MHEG5 PMT listener parsed
  111. // parameter : TRUE means has boot carousel for booting DSM-CC application
  112. // : FALSE means no boot carousel for booting DSM-CC application
  113. MHEG5APP_NOTIFY_PMT_LISTENED,
  114. // to notify audio control command
  115. // parameter : 0 for AUDIO_NONE
  116. // : 1 for AUDIO_MHEG
  117. // : 2 for AUDIO_USER
  118. MHEG5APP_NOTIFY_AUDIO_CONTROL,
  119. // to notify DSM-CC application started ot stopped
  120. // parameter : 0 for stopped
  121. // : non-zero for started
  122. MHEG5APP_NOTIFY_DSM_APPLICATION,
  123. // to notify application MHEG5 specified the scene aspect ratio,
  124. // the application should dynamic disable special zoom mode when specified mode is required.
  125. // parameter : 0 for scene aspect ratio 16:9 specified.
  126. // : 1 for scene asepct ratio 4:3 specified.
  127. // : 2 for not specified.
  128. MHEG5APP_NOTIF_SCENE_ASPECT_RATIO,
  129. // to notify ICS playback has started.
  130. // parameter: Pointer to the PE handle
  131. MHEG5APP_NOTIF_ICS_PLAY_START,
  132. // to nofity ICS playback has stopped.
  133. // parameter: None
  134. MHEG5APP_NOTIF_ICS_PLAY_STOP,
  135. // to notify ICS subtitle visible control
  136. // parameter : TRUE means visible.
  137. // FALSE means not visible.
  138. MHEG5APP_NOTIF_ICS_SUBTITLE_VISIBLE,
  139. // to notify ICS PFG (PromptForGuidance) control
  140. // parameter: TRUE means to show.
  141. // FALSE means to hide
  142. MHEG5APP_NOTIFY_ICS_PFG,
  143. // to notify APP that Boot Carousel information is changed,
  144. // application should restart mheg
  145. // parameter: None
  146. MHEG5APP_NOTIFY_BOOT_CAROUSEL_CHANGE,
  147. // callback for command
  148. // to get dvb time
  149. // parameter : pointer to the structure MHEG5APP_DateTime_t
  150. MHEG5APP_COMMD_GET_TIME = 100,
  151. // to get the user setting of TV output aspect ratio
  152. // parameter : pointer to the structure MHEG5APP_TvAspect_t
  153. MHEG5APP_COMMD_GET_ASPECT,
  154. // to get the user setting of prefer audio language
  155. // parameter : pointer to a 4 bytes charaters array.
  156. MHEG5APP_COMMD_GET_PREFER_AUDIO_LANG,
  157. MHEG5APP_NOTIFY_AUDIO_VOLUME_CONTROL,
  158. #ifdef CONFIG_CIPLUS_SUPPORT
  159. //by changhong@20120927 for ci+1.3
  160. MHEG5APP_NOTIFY_MHEG5_CI_APPLICATION_STOP,
  161. MHEG5APP_NOTIFY_MHEG5_CI_APPLICATION_START,
  162. MHEG5APP_NOTIFY_SUPPRESS_MHEG_GRAPHICS,
  163. #endif
  164. //freeviewNZ /PVR
  165. //parameter: pointer of the structure MH5PVR_BOOK_PARA_t
  166. MHEG5APP_COMMD_PVR_BOOK,
  167. MHEG5APP_COMMD_PVR_CANCEL,
  168. MHEG5APP_COMMD_PVR_BOOKLIST,
  169. MHEG5APP_NOTIFY_SET_PARENT_PROG_HANDLE,
  170. #ifdef CONFIG_SUPPORT_MHEG5_AU
  171. MHEG5APP_COMMAND_GET_NOW_EVENT,
  172. MHEG5APP_COMMAND_GET_NEXT_EVENT,
  173. #endif
  174. MHEG5APP_CALLBK_TYPE_MAX,
  175. }MHEG5APP_CallbkType_e;
  176. typedef enum
  177. {
  178. MHEG5_AUDIO_STARTED,
  179. MHEG5_AUDIO_STOPPED,
  180. MHEG5_AUDIO_SAMPLE_STOPPED,
  181. } MHEG5_AUDIO_PLAYBACK_STATUS;
  182. typedef enum
  183. {
  184. MHEG5APP_KEYPRESS_UP,
  185. MHEG5APP_KEYPRESS_DOWN,
  186. MHEG5APP_KEYPRESS_LEFT,
  187. MHEG5APP_KEYPRESS_RIGHT,
  188. MHEG5APP_KEYPRESS_0,
  189. MHEG5APP_KEYPRESS_1,
  190. MHEG5APP_KEYPRESS_2,
  191. MHEG5APP_KEYPRESS_3,
  192. MHEG5APP_KEYPRESS_4,
  193. MHEG5APP_KEYPRESS_5,
  194. MHEG5APP_KEYPRESS_6,
  195. MHEG5APP_KEYPRESS_7,
  196. MHEG5APP_KEYPRESS_8,
  197. MHEG5APP_KEYPRESS_9,
  198. MHEG5APP_KEYPRESS_SELECT,
  199. MHEG5APP_KEYPRESS_CANCEL,
  200. MHEG5APP_KEYPRESS_RED,
  201. MHEG5APP_KEYPRESS_GREEN,
  202. MHEG5APP_KEYPRESS_YELLOW,
  203. MHEG5APP_KEYPRESS_BLUE,
  204. MHEG5APP_KEYPRESS_TEXT,
  205. MHEG5APP_KEYPRESS_INFO,
  206. MHEG5APP_KEYPRESS_EPG,
  207. MHEG5APP_KEYPRESS_HELP,
  208. MHEG5APP_KEYPRESS_RECORD,
  209. MHEG5APP_KEYPRESS_STOP,
  210. MHEG5APP_KEYPRESS_PLAY,
  211. MHEG5APP_KEYPRESS_PAUSE,
  212. MHEG5APP_KEYPRESS_SKIP_FWD,
  213. MHEG5APP_KEYPRESS_SKIP_BACK,
  214. MHEG5APP_KEYPRESS_FAST_FWD,
  215. MHEG5APP_KEYPRESS_REWIND,
  216. MHEG5APP_KEYPRESS_PLAY_PAUSE
  217. } MHEG5APP_KEYPRESS_e;
  218. typedef enum
  219. {
  220. MHEG5APP_AUDIO_NONE, // No audio should be presented
  221. MHEG5APP_AUDIO_MHEG, // Audio service identified by mheg5 engine should be presented.
  222. MHEG5APP_AUDIO_USER // User's own selection of audio should be presented.
  223. } MHEG5APP_AUDIO_CONTROL_e;
  224. typedef enum __E_APPMMI_SMG
  225. {
  226. APPMMI_SMG_NONE = 2,
  227. APPMMI_SMG_TRUE = 1,
  228. APPMMI_SMG_FALSE = 0,
  229. } E_APPMMI_SMG;
  230. // a callback function to notify/get some information to/from application
  231. // return nonzero means successful
  232. typedef int (*iMh5AppCallback)(MHEG5APP_CallbkType_e eCallbkType, void* pParam);
  233. /*******************************************************************************
  234. *@begin
  235. * NAME: MHEG5APP_Init
  236. *
  237. * MHEG5 application init function.
  238. *
  239. * Returns :
  240. * MHEG5APP_INIT_OK (0) - Success
  241. * MHEG5APP_INIT_FAILED (-1) - MHEG5 app init failed in MHEG5 stack
  242. * MHEG5APP_INIT_NOBONDING (-2) - MHEG5 app init failed due to IC no bonding
  243. *
  244. * Parameter Flow Description
  245. * ------------------------------------------------------------------------------
  246. * None.
  247. *
  248. * Externals Flow Usage
  249. * ------------------------------------------------------------------------------
  250. * None.
  251. *
  252. * Additional information:
  253. * None.
  254. *
  255. *@end
  256. *******************************************************************************/
  257. int MHEG5APP_Init(void);
  258. /*******************************************************************************
  259. *@begin
  260. * NAME: MHEG5APP_RegistCallback
  261. *
  262. * register callback function for application.
  263. *
  264. * Returns :
  265. * None
  266. *
  267. * Parameter Flow Description
  268. * ------------------------------------------------------------------------------
  269. * pfCallback IN callback function
  270. *
  271. * Externals Flow Usage
  272. * ------------------------------------------------------------------------------
  273. * None.
  274. *
  275. * Additional information:
  276. * None.
  277. *
  278. *@end
  279. *******************************************************************************/
  280. void MHEG5APP_RegistCallback(iMh5AppCallback pfCallback);
  281. /*******************************************************************************
  282. *@begin
  283. * NAME: MHEG5APP_Start
  284. *
  285. * start MHEG5 application.
  286. *
  287. * Returns :
  288. * 1 - start success
  289. * 0 - start fail
  290. *
  291. * Parameter Flow Description
  292. * ------------------------------------------------------------------------------
  293. * fReset IN bit value of MHEG5APP_RESET_XXX, can be conbination of
  294. * MHEG5APP_RESET_AVC
  295. * MHEG5APP_RESET_SIQ
  296. * MHEG5APP_RESET_SIQ_PART
  297. * MHEG5APP_RESET_IR
  298. *
  299. * Externals Flow Usage
  300. * ------------------------------------------------------------------------------
  301. * None.
  302. *
  303. * Additional information:
  304. * None.
  305. *
  306. *@end
  307. *******************************************************************************/
  308. unsigned char MHEG5APP_Start(int fReset);
  309. /*******************************************************************************
  310. *@begin
  311. * NAME: MHEG5APP_Stop
  312. *
  313. * stop MHEG5 application.
  314. *
  315. * Returns :
  316. * None
  317. *
  318. * Parameter Flow Description
  319. * ------------------------------------------------------------------------------
  320. * fReset IN bit value of MHEG5APP_RESET_XXX, can be conbination of
  321. * MHEG5APP_RESET_AVC
  322. * MHEG5APP_RESET_SIQ
  323. * MHEG5APP_RESET_SIQ_PART
  324. * MHEG5APP_RESET_IR
  325. *
  326. * Externals Flow Usage
  327. * ------------------------------------------------------------------------------
  328. * None.
  329. *
  330. * Additional information:
  331. * None.
  332. *
  333. *@end
  334. *******************************************************************************/
  335. void MHEG5APP_Stop(int fReset);
  336. /*******************************************************************************
  337. *@begin
  338. * NAME: MHEG5APP_IrKeyPress
  339. *
  340. * pass the ir key to mheg5 engine.
  341. *
  342. * Returns :
  343. * 1 - key is accept
  344. * 0 - key is not accept
  345. *
  346. * Parameter Flow Description
  347. * ------------------------------------------------------------------------------
  348. * rx IN MHEG5 key code
  349. *
  350. * Externals Flow Usage
  351. * ------------------------------------------------------------------------------
  352. * None.
  353. *
  354. * Additional information:
  355. * None.
  356. *
  357. *@end
  358. *******************************************************************************/
  359. unsigned char MHEG5APP_IrKeyPress(MHEG5APP_KEYPRESS_e rx);
  360. /*******************************************************************************
  361. *@begin
  362. * NAME: MHEG5APP_GetMh5Status
  363. *
  364. * get MHEG5 application status.
  365. *
  366. * Returns :
  367. * None
  368. *
  369. * Parameter Flow Description
  370. * ------------------------------------------------------------------------------
  371. * pfStatus OUT bit value of conbination of follows
  372. * MHEG5APP_STATUS_APP_OFF
  373. * MHEG5APP_STATUS_APP_ON
  374. * MHEG5APP_STATUS_MID_OFF
  375. * MHEG5APP_STATUS_MID_ON
  376. * MHEG5APP_STATUS_MID_PAUSE
  377. * MHEG5APP_STATUS_AVKEEP_ON
  378. * MHEG5APP_STATUS_AVKEEP_OFF
  379. * MHEG5APP_STATUS_DSM_OFF
  380. * MHEG5APP_STATUS_DSM_ON
  381. * MHEG5APP_STATUS_OSD_OFF
  382. * MHEG5APP_STATUS_OSD_ON
  383. * MHEG5APP_STATUS_OSD_UPDATED
  384. *
  385. * Externals Flow Usage
  386. * ------------------------------------------------------------------------------
  387. * None.
  388. *
  389. * Additional information:
  390. * None.
  391. *
  392. *@end
  393. *******************************************************************************/
  394. void MHEG5APP_GetMh5Status(int *pfStatus);
  395. /*******************************************************************************
  396. *@begin
  397. * NAME: MHEG5APP_NotifyAVPIDChange
  398. *
  399. * notify MHEG5 video/audio pid change.
  400. *
  401. * Returns :
  402. * 0 - not handled
  403. * 1 - handled
  404. *
  405. * Parameter Flow Description
  406. * ------------------------------------------------------------------------------
  407. * pVidPidCodec IN
  408. * pAudPidCodec IN
  409. * pusPCRPID IN
  410. *
  411. * Externals Flow Usage
  412. * ------------------------------------------------------------------------------
  413. * None.
  414. *
  415. * Additional information:
  416. * None.
  417. *
  418. *@end
  419. *******************************************************************************/
  420. unsigned char MHEG5APP_NotifyAVPIDChange(unsigned int *pVidPidCodec,
  421. unsigned int *pAudPidCodec, unsigned short *pusPCRPID);
  422. /*******************************************************************************
  423. *@begin
  424. * NAME: MHEG5APP_AddSubtHideStatus
  425. *
  426. * add subtitle hide status.
  427. *
  428. * Returns :
  429. * None
  430. *
  431. * Parameter Flow Description
  432. * ------------------------------------------------------------------------------
  433. * nHideStatus IN bit conbination of follows
  434. * MHEG5APP_SUBT_HIDE_NOTIFY_ONLY
  435. * MHEG5APP_SUBT_HIDE_MAIN_APP
  436. * MHEG5APP_SUBT_HIDE_DSMCC_APP
  437. * MHEG5APP_SUBT_HIDE_VPP_SCALE
  438. * MHEG5APP_SUBT_HIDE_VPP_POSITION
  439. * MHEG5APP_SUBT_HIDE_VID_PAUSE
  440. *
  441. * Externals Flow Usage
  442. * ------------------------------------------------------------------------------
  443. * None.
  444. *
  445. * Additional information:
  446. * None.
  447. *
  448. *@end
  449. *******************************************************************************/
  450. void MHEG5APP_AddSubtHideStatus(unsigned int nHideStatus);
  451. /*******************************************************************************
  452. *@begin
  453. * NAME: MHEG5APP_RemoveSubtHideStatus
  454. *
  455. * remove subtitle hide status.
  456. *
  457. * Returns :
  458. * None
  459. *
  460. * Parameter Flow Description
  461. * ------------------------------------------------------------------------------
  462. * nHideStatus IN bit conbination of follows
  463. * MHEG5APP_SUBT_HIDE_NOTIFY_ONLY
  464. * MHEG5APP_SUBT_HIDE_MAIN_APP
  465. * MHEG5APP_SUBT_HIDE_DSMCC_APP
  466. * MHEG5APP_SUBT_HIDE_VPP_SCALE
  467. * MHEG5APP_SUBT_HIDE_VPP_POSITION
  468. * MHEG5APP_SUBT_HIDE_VID_PAUSE
  469. *
  470. * Externals Flow Usage
  471. * ------------------------------------------------------------------------------
  472. * None.
  473. *
  474. * Additional information:
  475. * None.
  476. *
  477. *@end
  478. *******************************************************************************/
  479. void MHEG5APP_RemoveSubtHideStatus(unsigned int nHideStatus);
  480. BOOLEAN MHEG5APP_GetSubtHideStatus(void);
  481. /*******************************************************************************
  482. *@begin
  483. * NAME: MHEG5APP_GetMh5VideoStatus
  484. *
  485. *
  486. *
  487. * Returns :
  488. * None
  489. *
  490. * Parameter Flow Description
  491. * ------------------------------------------------------------------------------
  492. * bActive OUT status of video of mheg5
  493. *
  494. * Externals Flow Usage
  495. * ------------------------------------------------------------------------------
  496. * None.
  497. *
  498. * Additional information:
  499. * None.
  500. *
  501. *@end
  502. *******************************************************************************/
  503. unsigned char MHEG5APP_GetMh5VideoStatus(BOOLEAN *bActive);
  504. /*******************************************************************************
  505. *@begin
  506. * NAME: MHEG5APP_GetAudioStatus
  507. *
  508. *
  509. * Returns :
  510. * None
  511. *
  512. * Parameter Flow Description
  513. * ------------------------------------------------------------------------------
  514. * None.
  515. *
  516. * Externals Flow Usage
  517. * ------------------------------------------------------------------------------
  518. * peStatus.
  519. *
  520. * Additional information:
  521. * None.
  522. *
  523. *@end
  524. *******************************************************************************/
  525. BOOLEAN MHEG5APP_GetAudioStatus(MHEG5APP_AUDIO_CONTROL_e *peStatus);
  526. /*******************************************************************************
  527. *@begin
  528. * NAME: MHEG5APP_NotifyAudioStatus
  529. *
  530. * Notify mheg5 app that current audio status
  531. *
  532. * Returns : none
  533. *
  534. * Parameter Flow Description
  535. * ------------------------------------------------------------------------------
  536. * nStatus IN MHEG5_AUDIO_STARTED if audio is started
  537. * MHEG5_AUDIO_STOPPED if audio is stopped
  538. *
  539. * Additional information:
  540. *
  541. *@end
  542. *******************************************************************************/
  543. void MHEG5APP_NotifyAudioStatus(MHEG5_AUDIO_PLAYBACK_STATUS nStatus);
  544. /*******************************************************************************
  545. *@begin
  546. * NAME: MHEG5APP_SetOSDFreeze
  547. *
  548. * Freeze OSD
  549. *
  550. * Returns : None.
  551. *
  552. * Parameter Flow Description
  553. * ------------------------------------------------------------------------------
  554. * bIsFreeze IN TRUE if freeze, otherwise FALSE
  555. *
  556. * Additional information:
  557. *
  558. *@end
  559. *******************************************************************************/
  560. void MHEG5APP_SetOSDFreeze(BOOLEAN bIsFreeze);
  561. /*******************************************************************************
  562. *@begin
  563. * NAME: MHEG5APP_GetOSDFreeze
  564. *
  565. * Get OSD Freeze status
  566. *
  567. * Returns : TRUE if freeze, otherwise FALSE
  568. *
  569. * Parameter Flow Description
  570. * ------------------------------------------------------------------------------
  571. * None.
  572. *
  573. * Additional information:
  574. *
  575. *@end
  576. *******************************************************************************/
  577. BOOLEAN MHEG5APP_GetOSDFreeze(void);
  578. #if 0
  579. /*******************************************************************************
  580. *@begin
  581. * NAME: MHEG5APP_SetOSDSize
  582. *
  583. * Set size of MHEG5 OSD
  584. *
  585. * Returns : void
  586. *
  587. * Parameter Flow Description
  588. * ------------------------------------------------------------------------------
  589. * RegWidth IN width
  590. * RegHeight IN height
  591. *
  592. * Additional information:
  593. *
  594. *@end
  595. *******************************************************************************/
  596. void MHEG5APP_SetOSDSize(unsigned short RegWidth, unsigned short RegHeight);
  597. #endif
  598. /*******************************************************************************
  599. *@begin
  600. * NAME: MHEG5APP_GetOSDSize
  601. *
  602. * Get size of MHEG5 OSD
  603. *
  604. * Returns : void
  605. *
  606. * Parameter Flow Description
  607. * ------------------------------------------------------------------------------
  608. * pRegWidth OUT pointer of width
  609. * pRegHeight OUT pointer of height
  610. *
  611. * Additional information:
  612. *
  613. *@end
  614. *******************************************************************************/
  615. void MHEG5APP_GetOSDSize(unsigned short *pRegWidth, unsigned short *pRegHeight);
  616. /*******************************************************************************
  617. *@begin
  618. * NAME: MHEG5APP_NotifyVideoPrefChanged
  619. * Notifies the MHEG5 component when the video preferences change
  620. * (i.e. change the decoder format conversation).
  621. *
  622. * Note that this event is not generated when the broadcast video changes
  623. * aspect ratio, nor when a change affects only display format conversion.
  624. *
  625. * This is a non-blocking function.
  626. *
  627. * Returns : none
  628. *
  629. * Parameter Flow Description
  630. * ------------------------------------------------------------------------------
  631. * None.
  632. *
  633. * Externals Flow Usage
  634. * ------------------------------------------------------------------------------
  635. * None.
  636. *
  637. * Additional information:
  638. *
  639. * This notification is used to generate the VideoPrefChanged EngineEvent. See
  640. * section 3.8 of reference [1].
  641. *
  642. *@end
  643. *******************************************************************************/
  644. void MHEG5APP_NotifyVideoPrefChanged(void);
  645. /*****************************************************************************
  646. * Function Name: MID_DTVMHEG_GetAppMMISMG
  647. * Description: Suppress MHEG graphics.
  648. * Added for test 4.2 in CI+ 1.3 extension test suite.
  649. * Parameters:
  650. * Returns: SMG value from AppMMI
  651. ****************************************************************************/
  652. E_APPMMI_SMG MID_DTVMHEG_GetAppMMISMG(void);
  653. /*****************************************************************************
  654. * Function Name: MHEG5OSD_DisplayEnable
  655. * Description: Turn on or off the MHEG OSD.
  656. * Added for test 4.2 in CI+ 1.3 extension test suite.
  657. * Parameters: Enable to turn it on, otherwise Turn it off.
  658. * Returns:
  659. ****************************************************************************/
  660. void MHEG5OSD_DisplayEnable(BOOLEAN enable);
  661. void MHEG5APP_PromptForGuidance(BOOLEAN show);
  662. void MHEG5_ICS_Init(void);
  663. void MHEG5_ICS_Uninit(void);
  664. BOOLEAN MHEG5_ICS_IsRunning(void);
  665. void MHEG5_ICS_SetPrefSubtLang(char *primaryLang, char *secondaryLang);
  666. void MHEG5_ICS_SetPrefAudioLang(char *primaryLang, char *secondaryLang);
  667. void MHEG5_ICS_SetSubtitle(BOOLEAN isVisible);
  668. void MHEG5_ICS_SetAudioDescPref(BOOLEAN pref);
  669. void MHEG5_ICS_NotifyGuidanceResponse(BOOLEAN result);
  670. BOOLEAN MHEG5_ICS_IsGuidanceAwaitingResponse(void);
  671. char* MHEG5_ICS_GetPFGRestrictionMsg(void);
  672. void MHEG5_ICS_SetPinStatus(BOOLEAN enable);
  673. void MHEG5_SetAudioDescPref(BOOLEAN pref);
  674. void MHEG5_SetSubtitlePref(BOOLEAN pref);
  675. BOOLEAN MHEG5APP_IsFullscreenVideo(void);
  676. #endif //MID_MHEG5_H