AL_Multimedia_Player_IF.h 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576
  1. /******************************************************************************/
  2. /*! @addtogroup AL_Multimeidia_Player
  3. * @{
  4. ******************************************************************************/
  5. /******************************************************************************/
  6. /*!
  7. * @file AL_Multimeidia_Player_IF.c
  8. *
  9. * @brief This file specifies the APIs used to control media_playback to play media file.\n
  10. *
  11. * @note Copyright (c) 2013 S2 Technology Co., Ltd. \n
  12. * All rights reserved.
  13. ********************************************************************************/
  14. #ifndef __AL_MULTIMEDIA_PLAYER_IF_H__
  15. #define __AL_MULTIMEDIA_PLAYER_IF_H__
  16. /*******************************************************************************
  17. * Header include
  18. ******************************************************************************/
  19. #include "AL_Multimedia_Player_Types.h"
  20. #include "AL_Multimedia_FileSystem_IF.h"
  21. #include "region.h"
  22. #include "AL_Media_CodePage.h"
  23. /*******************************************************************************
  24. * Enumeration
  25. ******************************************************************************/
  26. typedef enum
  27. {
  28. PLAYER_PIC_ENVIRONMENT = 0,
  29. PLAYER_PE_ENVIRONMENT,
  30. } Player_Lib_Parameter_Type;
  31. typedef struct
  32. {
  33. AL_PLAYER_Zoom_Index_t Active_Zoom_Step;
  34. INT8 X_Direct_Percent;
  35. INT8 Y_Direct_Percent;
  36. } AL_PLAYER_Zoom_Info_t;
  37. typedef struct
  38. {
  39. UINT32 Time;
  40. } AL_PLAYER_Goto_Info_t;
  41. typedef union
  42. {
  43. AL_PLAYER_PIC_Rotation_Info_t Photo_Rotation_Info;
  44. struct
  45. {
  46. UINT8 Program_Index; /*!< Select target program index, some of the video file with multi programs, eg. TS*/
  47. } Video_Config;
  48. struct
  49. {
  50. UINT8 Reserve;
  51. } Audio_Config;
  52. struct
  53. {
  54. BOOL Enable_Unmute;
  55. } Photo_Config;
  56. } AL_PLAYER_Play_Info_t;
  57. typedef struct
  58. {
  59. FileSystem_FileType_t FileType;
  60. AL_PLAYER_Play_Info_t Play_Info;
  61. } CtrlCmd_PLAYER_PLAY_t;
  62. typedef struct
  63. {
  64. FileSystem_FileType_t FileType;
  65. AL_PLAYER_Zoom_Index_t Index;
  66. AL_PLAYER_Zoom_Type_t Method;
  67. } CtrlCmd_PLAYER_ZOOM_t;
  68. typedef struct
  69. {
  70. FileSystem_FileType_t FileType;
  71. const char* Rom_File_Data;
  72. UINT32 Rom_File_Data_Size;
  73. } CtrlCmd_PLAYER_ROM_FILE_OPEN_t;
  74. typedef struct
  75. {
  76. FileSystem_FileType_t FileType;
  77. AL_PLAYER_Zoom_Type_t Zoom_Method;
  78. } CtrlCmd_PLAYER_HIERARCH_ZOOM_t;
  79. typedef struct
  80. {
  81. AL_PLAYER_PIC_Rotation_Info_t Angle;
  82. } CtrlCmd_PLAYER_ROTATION_SPECIFIED_t;
  83. typedef struct
  84. {
  85. FileSystem_FileType_t FileType;
  86. } CtrlCmd_PLAYER_FF_t;
  87. typedef struct
  88. {
  89. FileSystem_FileType_t FileType;
  90. } CtrlCmd_PLAYER_FB_t;
  91. typedef struct
  92. {
  93. FileSystem_FileType_t FileType;
  94. } CtrlCmd_PLAYER_SF_t;
  95. typedef struct
  96. {
  97. FileSystem_FileType_t FileType;
  98. } CtrlCmd_PLAYER_PAUSE_t;
  99. typedef struct
  100. {
  101. FileSystem_FileType_t FileType;
  102. } CtrlCmd_PLAYER_ROM_FILE_PLAY_t;
  103. typedef struct
  104. {
  105. FileSystem_FileType_t FileType;
  106. } CtrlCmd_PLAYER_ROM_FILE_CLOSE_t;
  107. typedef struct
  108. {
  109. FileSystem_FileType_t FileType;
  110. } CtrlCmd_PLAYER_CLEAR_DISPLAY_IMAGE_t;
  111. typedef struct
  112. {
  113. FileSystem_FileType_t FileType;
  114. } CtrlCmd_PLAYER_STOP_t;
  115. typedef struct
  116. {
  117. FileSystem_FileType_t FileType;
  118. AL_PLAYER_Zoom_Move_Direction_t Direction;
  119. } CtrlCmd_PLAYER_ZOOM_MOVE_t;
  120. typedef AL_PLAYER_PIC_Resolution_Info_t CtrlCmd_PLAYER_SET_PIC_RESOLUTION_t;
  121. typedef AL_PLAYER_Goto_Info_t CtrlCmd_PLAYER_GOTO_t;
  122. typedef union
  123. {
  124. FileSystem_FileType_t FileType;
  125. //AL_PLAYER_PIC_Resolution_Info_t PIC_Resolution_Info;
  126. //AL_PLAYER_Zoom_Index_t Zoom_Index;
  127. //AL_PLAYER_Goto_Info_t Goto_Info;
  128. /*If Cmd not in this union, this cmd cab be NULL*/
  129. CtrlCmd_PLAYER_PAUSE_t Pause_Param;
  130. CtrlCmd_PLAYER_FF_t FF_Param;
  131. CtrlCmd_PLAYER_FB_t FB_Param;
  132. CtrlCmd_PLAYER_SF_t SF_Param;
  133. CtrlCmd_PLAYER_PLAY_t Play_Param;
  134. CtrlCmd_PLAYER_STOP_t Stop_Param;
  135. CtrlCmd_PLAYER_SET_PIC_RESOLUTION_t Set_Pic_Resolution_Param;
  136. CtrlCmd_PLAYER_ZOOM_t Zoom_Param;
  137. CtrlCmd_PLAYER_HIERARCH_ZOOM_t Hierarch_Param;
  138. CtrlCmd_PLAYER_ROTATION_SPECIFIED_t Rotation_Specified_Param;
  139. CtrlCmd_PLAYER_GOTO_t Goto_Param;
  140. CtrlCmd_PLAYER_ROM_FILE_OPEN_t Rom_File_Open_Param;
  141. CtrlCmd_PLAYER_ROM_FILE_PLAY_t Rom_File_Play_Param;
  142. CtrlCmd_PLAYER_ROM_FILE_CLOSE_t Rom_File_Close_Param;
  143. CtrlCmd_PLAYER_CLEAR_DISPLAY_IMAGE_t Clear_Display_Image_Param;
  144. CtrlCmd_PLAYER_ZOOM_MOVE_t Zoom_Move_Param;
  145. } AL_PLAYER_CtrlCmd_Info_t;
  146. /*******************************************************************************
  147. * Structure
  148. ******************************************************************************/
  149. /*******************************************************************************
  150. * Program
  151. ******************************************************************************/
  152. /******************************************************************************/
  153. /**
  154. * @brief capture OSDBmp and change To JepgFile
  155. * @param cOutFile: e.g /mnt/sda1/test.jepg.
  156. * @return AL_PLAYER_SUCCESS if initial successful\n
  157. * AL_PLAYER_ERR_FAILURE if Initial Fail
  158. ******************************************************************************/
  159. AL_PLAYER_t AL_Multimedia_Player_CaputreOSDBmpToJepgFile(char* OutFile,int encode_quality);
  160. /******************************************************************************/
  161. /**
  162. * @brief AL Multimedia Player Lib Initial, If u need to call any Lib's Api, please call this func. first.
  163. * @return AL_PLAYER_SUCCESS if initial successful\n
  164. * AL_PLAYER_ERR_FAILURE if Initial Fail
  165. ******************************************************************************/
  166. AL_PLAYER_t AL_Multimedia_Player_Lib_Init(void);
  167. /******************************************************************************/
  168. /**
  169. * @brief AL Multimedia Player Initial, Please call this func. after AL_Multimedia_Player_Lib_Init()
  170. * @return AL_PLAYER_SUCCESS if successful\n
  171. * AL_PLAYER_ERR_FAILURE if Initial Fail
  172. ******************************************************************************/
  173. AL_PLAYER_t AL_Multimedia_Player_IF_Init(void);
  174. /******************************************************************************/
  175. /**
  176. * @brief AL Multimedia Player UnInitial
  177. *
  178. ******************************************************************************/
  179. void AL_Multimeida_Player_IF_Uninit(void);
  180. /******************************************************************************/
  181. /**
  182. * @brief Post Msg Hook API\n
  183. * AL_Multimedia_Player_RegisterMsgRouteway hooked success, we will use this API to post msg.
  184. * @param BOOL (*SendMsg_Func)(AL_PLAYER_Event_t) : Post Msg API
  185. *
  186. ******************************************************************************/
  187. void AL_Multimedia_Player_RegisterMsgRouteway(BOOL (*SendMsg_Func)(AL_PLAYER_Event_t));
  188. /******************************************************************************/
  189. /**
  190. * @brief PIC Post Msg Hook API\n
  191. * AL_Multimedia_Player_RegisterPICMsgRouteway hooked success, we will use this API to post PIC msg.
  192. * @param BOOL (*SendMsg_Func)(AL_PLAYER_Event_t) : Post Msg API
  193. *
  194. ******************************************************************************/
  195. void AL_Multimedia_Player_RegisterPICMsgRouteway(BOOL (*SendMsg_Func)(AL_PLAYER_Event_t));
  196. /******************************************************************************/
  197. /**
  198. * @brief PE Post Msg Hook API\n
  199. * AL_Multimedia_Player_RegisterPEMsgRouteway hooked success, we will use this API to post PE msg.
  200. * @param BOOL (*SendMsg_Func)(AL_PLAYER_Event_t) : Post Msg API
  201. *
  202. ******************************************************************************/
  203. void AL_Multimedia_Player_RegisterPEMsgRouteway(BOOL (*SendMsg_Func)(AL_PLAYER_Event_t));
  204. /******************************************************************************/
  205. /**
  206. * @brief Hook FileSystem API to provide File Info. to Player.
  207. * @param AL_PLAYER_Hook_Func_List_t Hook_Api : Hook Api, detail please ref. AL_PLAYER_Hook_Func_List_t.
  208. * @return AL_PLAYER_SUCCESS if successful\n
  209. * AL_PLAYER_ERR_INVALID_PARAM if parameters is invalid.\n
  210. *
  211. ******************************************************************************/
  212. AL_PLAYER_t AL_Multimedia_Player_HookFileSystemAPI(AL_PLAYER_Hook_Func_List_t Hook_Api);
  213. /******************************************************************************/
  214. /**
  215. * @brief Register Parameter, that Lib Need it to do something.
  216. * @param Player_Lib_Parameter_Type Register_Type : PLAYER_PIC_ENVIRONMENT/PLAYER_PE_ENVIRONMENT\n
  217. * const void* Param : Parameter of PE/PIC Lib needed,\n
  218. * Detail please ref. AL_PLAYER_PIC_Register_Environment_Parameter_t and AL_PLAYER_PE_Register_Environment_Parameter_t
  219. * @return AL_PLAYER_SUCCESS if successful\n
  220. * AL_PLAYER_ERR_INVALID_PARAM if parameters is invalid.\n
  221. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  222. *
  223. ******************************************************************************/
  224. AL_PLAYER_t AL_Multimedia_Player_RegisterParameterToLib(Player_Lib_Parameter_Type Register_Type, const void* Param);
  225. /******************************************************************************/
  226. /**
  227. * @brief Send Cmd to Request PE/PIC Lib to do something
  228. * @param AL_PLAYER_CtrlCmd_t Player_Cmd : Command, detail please ref. AL_PLAYER_CtrlCmd_t.\n
  229. * AL_PLAYER_CtrlCmd_Info_t* const Player_Cmd_Info : detail information.
  230. * @return AL_PLAYER_SUCCESS if successful\n
  231. * AL_PLAYER_ERR_INVALID_PARAM if parameters is invalid.\n
  232. * AL_PLAYER_ERR_ACCESS if soruce device has some trouble\n
  233. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  234. *
  235. ******************************************************************************/
  236. AL_PLAYER_t AL_Multimedia_Player_RequestCommand(AL_PLAYER_CtrlCmd_t Player_Cmd, AL_PLAYER_CtrlCmd_Info_t* const Player_Cmd_Info);
  237. /******************************************************************************/
  238. /**
  239. * @brief Use to hook post Lyric message function.
  240. * @param AL_PLAYER_Hook_Lyric_t Hook_Func : Function point, to assign Post Lyric message func.
  241. *
  242. ******************************************************************************/
  243. void AL_Multimedia_Player_HookLyricAPI(AL_PLAYER_Hook_Lyric_t Hook_Func);
  244. /******************************************************************************/
  245. /**
  246. * @brief Configuration parameter settings of Lyric
  247. * @param BOOL Lyric_On_Off: Enable / Disable Subtitle Output
  248. * UINT32 Shift_Time: Reserve
  249. *
  250. ******************************************************************************/
  251. void AL_Multimedia_Player_SetAudioLyricCfg(BOOL Lyric_On_Off, UINT32 Shift_Time);
  252. #if 0 // newfontmask
  253. /******************************************************************************/
  254. /**
  255. * @brief Set subtitle font information when system power on.
  256. * @param
  257. * @return AL_PLAYER_SUCCESS if successful\n
  258. * AL_PLAYER_ERR_INVALID_PARAM if input param is invalid\n
  259. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  260. *
  261. ******************************************************************************/
  262. AL_PLAYER_t AL_Multimedia_Player_SetSubtitleFontInfo(FONTInfo_t *pFontInfo,
  263. UINT32 FontBlockNum, UINT32 FontStyleNum, UINT8 LangNum);
  264. #endif
  265. /******************************************************************************/
  266. /**
  267. * @brief Use to enable/disable subtitle
  268. * @param BOOL Subtitle_Enable : Set this param to enable/disable subtitle\n
  269. 1 : enable / 0 : disable
  270. * @return AL_PLAYER_SUCCESS if successful\n
  271. * AL_PLAYER_ERR_INVALID_PARAM if input param is invalid\n
  272. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  273. *
  274. ******************************************************************************/
  275. AL_PLAYER_t AL_Multimedia_Player_SetVideoSubtitleEnable(BOOL Subtitle_Enable);
  276. /******************************************************************************/
  277. /**
  278. * @brief Use to enable/disable subtitle
  279. * @param UINT8 Subtitle_Index : Set subtitle index.
  280. * @return AL_PLAYER_SUCCESS if successful\n
  281. * AL_PLAYER_ERR_INVALID_PARAM if input param is invalid\n
  282. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  283. *
  284. ******************************************************************************/
  285. AL_PLAYER_t AL_Multimedia_Player_SetVideoSubtitleIndex(UINT8 Subtitle_Index);
  286. /******************************************************************************/
  287. /**
  288. * @brief Use to set subtitle Y direction position
  289. * @param AL_PLAYER_Video_Subtitle_PosY_t Subtitle_Y_Position : position index
  290. * @return AL_PLAYER_SUCCESS if successful\n
  291. * AL_PLAYER_ERR_INVALID_PARAM if input param is invalid
  292. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  293. *
  294. ******************************************************************************/
  295. AL_PLAYER_t AL_Multimedia_Player_SetVideoSubtitlePosY(AL_PLAYER_Video_Subtitle_PosY_t Subtitle_Y_Position);
  296. /******************************************************************************/
  297. /**
  298. * @brief Use to set subtitle font color
  299. * @param AL_PLAYER_Video_Subtitle_FontColor_t ColorIdx : color index
  300. * @return AL_PLAYER_SUCCESS if successful\n
  301. * AL_PLAYER_ERR_INVALID_PARAM if input param is invalid
  302. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  303. *
  304. ******************************************************************************/
  305. AL_PLAYER_t AL_Multimedia_Player_SetVideoSubtitleFontColor(AL_PLAYER_Video_Subtitle_FontColor_t ColorIdx);
  306. /******************************************************************************/
  307. /**
  308. * @brief Use to set subtitle time shift
  309. * @param int ShiftTime_ms : (+) delay ; (-) in advance
  310. * Currently, define the max time shift value is (+) and (-) 10 s
  311. * @return AL_PLAYER_SUCCESS if successful\n
  312. * AL_PLAYER_ERR_INVALID_PARAM if input param is invalid
  313. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  314. *
  315. ******************************************************************************/
  316. AL_PLAYER_t AL_Multimedia_Player_SetVideoSubtitleTimeShift(int TimeShift_ms);
  317. /******************************************************************************/
  318. /**
  319. * @brief Use to set subtitle font size
  320. * @param AL_PLAYER_Video_Subtitle_FontSize_t FontSize : subtitle font size
  321. * The font size decrease from FONT_SIZE_LARGE_L to FONT_SIZE_SMALL_S
  322. * @return AL_PLAYER_SUCCESS if successful\n
  323. * AL_PLAYER_ERR_INVALID_PARAM if input param is invalid
  324. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  325. *
  326. ******************************************************************************/
  327. AL_PLAYER_t AL_Multimedia_Player_SetVideoSubtitleFontSize(int FontSize);
  328. /******************************************************************************/
  329. /**
  330. * @brief Use to set default system code page to subtitle
  331. * Please call this API before performing PLAYER_OPEN_SELECT_FILE Command.
  332. * @param MediaCodePage_e SysCodePage : code page
  333. * @return AL_PLAYER_SUCCESS if successful\n
  334. * AL_PLAYER_ERR_INVALID_PARAM if input param is invalid
  335. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  336. *
  337. ******************************************************************************/
  338. AL_PLAYER_t AL_Multimedia_Player_SetVideoDefaultSubtitleSysCodePage(MediaCodePage_e SysCodePage);
  339. /******************************************************************************/
  340. /**
  341. * @brief Use to set user language code page to subtitle
  342. * @param MediaCodePage_e SysCodePage : code page
  343. * Adjust code page after opening file for subtitle is displayed incorrectly.
  344. * @return AL_PLAYER_SUCCESS if successful\n
  345. * AL_PLAYER_ERR_INVALID_PARAM if input param is invalid
  346. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  347. *
  348. ******************************************************************************/
  349. AL_PLAYER_t AL_Multimedia_Player_SetVideoSubtitleUserLangCodePage(MediaCodePage_e SysCodePage);
  350. /******************************************************************************/
  351. /**
  352. * @brief Use to set system code page to subtitle
  353. * @param MediaCodePage_e SysCodePage : code page
  354. * Adjust code page after opening file for subtitle is displayed incorrectly.
  355. * @return AL_PLAYER_SUCCESS if successful\n
  356. * AL_PLAYER_ERR_INVALID_PARAM if input param is invalid
  357. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  358. *
  359. ******************************************************************************/
  360. AL_PLAYER_t AL_Multimedia_Player_SetVideoSubtitleSysCodePage(MediaCodePage_e SysCodePage);
  361. /******************************************************************************/
  362. /**
  363. * @brief Use to select the Sound Track, that u want to listen.
  364. * @param UINT8 SoundTrack_Index : Set this param to change currently sound track index.\n
  365. * @return AL_PLAYER_SUCCESS if successful\n
  366. * AL_PLAYER_ERR_INVALID_PARAM if parameters is invalid.\n
  367. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  368. *
  369. ******************************************************************************/
  370. AL_PLAYER_t AL_Multimedia_Player_SetVideoSoundTrackCfg(UINT8 SoundTrack_Index);
  371. #ifdef CONFIG_SUPPORT_MEDIA_AD
  372. /******************************************************************************/
  373. /**
  374. * @brief Use to select the Sound Track with AD, that u want to listen.
  375. * @param UINT8 SoundTrack_Main_Index : Set this param to change currently main sound track index.\n
  376. * UINT8 SoundTrack_AD_Index : Set this param to change currently ad sound track index.\n
  377. * @return AL_PLAYER_SUCCESS if successful\n
  378. * AL_PLAYER_ERR_INVALID_PARAM if parameters is invalid.\n
  379. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  380. *
  381. ******************************************************************************/
  382. AL_PLAYER_t AL_Multimedia_Player_SetVideoSoundTrackCfg_WithAD(UINT8 SoundTrack_Main_Index, UINT8 SoundTrack_AD_Index);
  383. #endif
  384. /******************************************************************************/
  385. /**
  386. * @brief Use to set sound out mode of Video / Audio file, that is u want to listen.
  387. * @param AL_PLAYER_SoundMode_t SoundMode : Output Sound Mode, Detail please ref. AL_PLAYER_SoundMode_t.
  388. * @return AL_PLAYER_SUCCESS if successful\n
  389. * AL_PLAYER_ERR_INVALID_PARAM if input param is invalid\n
  390. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  391. *
  392. ******************************************************************************/
  393. AL_PLAYER_t AL_Multimedia_Player_SetVideo_SoundModeCfg(AL_PLAYER_SoundMode_t SoundMode);
  394. /******************************************************************************/
  395. /**
  396. * @brief Get Opened Audio/Video File's Duration(Sec)
  397. * @param UINT32* const TotalTime : Output Media File's Duration(Sec)
  398. * @return AL_FS_SUCCESS if successful\n
  399. * AL_FS_ERR_INVALID_PARAM if parameters is invalid.\n
  400. * AL_FS_ERR_FAILURE if Exception Error occurred.
  401. *
  402. ******************************************************************************/
  403. AL_PLAYER_t AL_Multimedia_Player_GetOpenedAVDuration(UINT32* const Duration);
  404. /******************************************************************************/
  405. /**
  406. * @brief Get Playing Audio/Video File's Playing Time(Sec)
  407. * @param UINT32* const PlayTime : Output Media File's Playing Time(Sec)
  408. * @return AL_FS_SUCCESS if successful\n
  409. * AL_FS_ERR_INVALID_PARAM if parameters is invalid.\n
  410. * AL_FS_ERR_FAILURE if Exception Error occurred.
  411. *
  412. ******************************************************************************/
  413. AL_PLAYER_t AL_Multimedia_Player_GetPlayingAVPlayTime(UINT32* const PlayTime);
  414. /******************************************************************************/
  415. /**
  416. * @brief Report Opened Video File Information,\n
  417. * if u opened file isn't a Video file, it will report 0.
  418. * @return Video Information, detail please ref. AL_PLAYER_Video_Info_t.
  419. *
  420. ******************************************************************************/
  421. const AL_PLAYER_Video_Info_t* AL_Multimedia_Player_GetOpenedVideoInfo(void);
  422. /******************************************************************************/
  423. /**
  424. * @brief Use to get the playing music's lyric information,\n
  425. * @param UINT16 Song_Index : Lyric Index\n,
  426. * char* LRC_Buf : Output Lyric String Buffer\n
  427. * UINT16 LRC_Buf_Len : Lyric Buffer Size\n
  428. * UINT16* LRC_Time : Output Lyric Mapping Time
  429. * @return AL_PLAYER_SUCCESS if successful\n
  430. * AL_PLAYER_ERR_INVALID_PARAM if input param or environment is invalid\n
  431. *
  432. ******************************************************************************/
  433. AL_PLAYER_t AL_Multimedia_Player_GetPlayingLRCInfo(UINT16 Song_Index, char* LRC_Buf, UINT16 LRC_Buf_Len, UINT16* LRC_Time);
  434. /******************************************************************************/
  435. /**
  436. * @brief Use to get zoom info of the opened photo\n
  437. * @return Zoom Info, Detail please ref. AL_PLAYER_Zoom_Info_t
  438. *
  439. ******************************************************************************/
  440. AL_PLAYER_Zoom_Info_t AL_Multimedia_Player_GetOpenedPhotoZoomInfo(void);
  441. /******************************************************************************/
  442. /**
  443. * @brief Use to get the photo's display area\n
  444. * Please call this function after photo play, before photo stop!(It's a limitation of PIC Lib)\n
  445. * @param AL_PLAYER_Photo_Display_Area_t* Display_Area: Output Display Area, detail please reference AL_PLAYER_Photo_Display_Area_t.
  446. * @return AL_PLAYER_SUCCESS if successful\n
  447. * AL_PLAYER_ERR_INVALID_PARAM if input param or environment is invalid\n
  448. *
  449. ******************************************************************************/
  450. AL_PLAYER_t AL_Multimedia_Player_GetOpenedPhotoDisplayInfo(AL_PLAYER_Photo_Display_Area_t* Display_Area);
  451. /******************************************************************************/
  452. /**
  453. * @brief Report Opened Photo File Rotate Information,\n
  454. * if u opened file isn't a Photo file, it will report 0.
  455. * @return Photo Rotate Information, detail please ref. AL_PLAYER_PIC_Rotation_Info_t.
  456. *
  457. ******************************************************************************/
  458. AL_PLAYER_PIC_Rotation_Info_t AL_Multimedia_Player_GetOpenedPhotoRotateInfo(void);
  459. /******************************************************************************/
  460. /**
  461. * @brief Report Opened Audio File Information,\n
  462. * if u opened file isn't a Audio file, it will report 0.
  463. * @return Audio Information, detail please ref. AL_PLAYER_Audio_Info_t.
  464. *
  465. ******************************************************************************/
  466. const AL_PLAYER_Audio_Info_t* AL_Multimedia_Player_GetOpenedAudioInfo(void);
  467. /******************************************************************************/
  468. /**
  469. * @brief Report Opened Photo File Information,\n
  470. * if u opened file isn't a Photo file, it will report 0.
  471. * @return Photo Information, detail please ref. AL_PLAYER_Photo_Info_t.
  472. *
  473. ******************************************************************************/
  474. const AL_PLAYER_Photo_Info_t* AL_Multimedia_Player_GetOpenedPhotoInfo(void);
  475. /******************************************************************************/
  476. /**
  477. * @brief This function describe some process, that is Player Decode Lib requirements.\n
  478. * This function must only be called once, when first time use player module, or system bootup.
  479. * @return AL_PLAYER_SUCCESS if successful\n
  480. * AL_PLAYER_ERR_FAILURE if Exception Error occurred.
  481. *
  482. ******************************************************************************/
  483. AL_PLAYER_t AL_Multimedia_Player_Prior_Init(void);
  484. AL_PLAYER_t AL_Multimedia_Set_Video_Display_Window(UINT32 XStart, UINT32 YStart, UINT32 XEnd, UINT32 YEnd, BOOL FullScreen);
  485. /******************************************************************************/
  486. /**
  487. * @brief Use to get WinOnFrame size\n
  488. * @return void
  489. *
  490. ******************************************************************************/
  491. void AL_Multimedia_Player_GetWinOnFrameSize(int *width, int *height, int *WinWidth, int *WinHeight);
  492. AL_PLAYER_t AL_Multimedia_Player_Get_Play_State(void);
  493. #ifdef CONFIG_SUPPORT_DIVXDRM
  494. /******************************************************************************/
  495. /**
  496. * @brief Use to get DivX Rental Information.
  497. *
  498. ******************************************************************************/
  499. AL_PLAYER_DivX_Rental_Info_t AL_Multimedia_Player_Get_DivX_Rental_Info(void);
  500. AL_PLAYER_VideoType_t AL_Multimedia_Player_Get_Video_Type(void);
  501. void AL_Multimedia_Player_Set_Video_Type(AL_PLAYER_VideoType_t Param);
  502. #endif
  503. /******************************************************************************/
  504. /**
  505. * @brief Use to Reset Trick Play Setup Parameter.
  506. *
  507. ******************************************************************************/
  508. void AL_Multimedia_Player_PE_Reset_TrickPlay_Setting(void);
  509. /******************************************************************************/
  510. /**
  511. * @brief Use to get rate information
  512. * @param AL_PLAYER_Rating_Info_t* Out_Rating_Info : Output rating Info.
  513. *
  514. ******************************************************************************/
  515. AL_PLAYER_t AL_Multimedia_Player_Get_Rating_Info(AL_PLAYER_Rating_Info_t* Out_Rating_Info);
  516. #endif
  517. /*!
  518. @} end of addtogroup AL_Multimeidia_Player */