📄 mmp_global.h
字号:
BYTE2 ewPgm_cursor_pos;
//>>>temp
MmpRef_st estDirRef; /* The reference folder */
MmpRef_st *epstRef_next_list; /* Reference folder list for next play */
MmpRef_st *epstRef_prev_list; /* Reference folder list for prev play */
BYTE2 ecCtrl_total; /* Filtered total file number for opening a folder */
FS_Entry_st *epCtl_list; /* the folder page or file page list for opening a folder */
BYTE2 *ecCtrl_table; /* Filtered file page list for opening a folder */
MmpSelectInfo_st estSel;
BYTE2 ewFolder_hi; /* highlighted folder. */
CHAR ecFolder_page[MMP_CTRL_PAGE_UNIT_SIZE*(MMP_NAME_LENGTH+1)];
CHAR ecFile_page[MMP_CTRL_PAGE_UNIT_SIZE*(MMP_NAME_LENGTH+1)];
PbTime_st estPb_time;
#if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE //azureming@060120
UINT estSaved_index; /*to retrieve time when continues error happens*/
//gaoping 20060207 not use now we use decode state
//MmpPlayStatus_et ewPlay_status; //azureming@060123
#endif
BYTE1 ecError_cnt; /* Error counter */
BYTE1 ebAuto_play;
BYTE1 ebDecode_started;
BYTE1 ecEmer_cnt; /* Emergency counter */
BYTE1 ecPlayerr_cnt;
BOOL ebPlay_err_recover;
BYTE4 eiPlay_history[MMP_HISTORY_ARRY_NUM];/* For storing the play history */
BYTE2 ewPlay_count;
BYTE2 ewFolder_level;
FS_Drive_et etMnt_drv;
union {
SetMainState_t state_prev;
OSD_MainType_et dsp_prev;
} estSetup_state_prev;
MmpFileType_et etCurrentFileType;
#if _APP_CAP_FUNC_MMP_INTRO_PLAY
BOOL Intro_flag;
#endif
#if (_CUSTOM_ID_==_CUSTOM_ID_BENIX_)
BYTE1 ebAllmedia_type; /* for displaying the mmp title */
#endif
} MmpCtrl_st;
#else /* _APP_CAP_OSD_FLATTEN_EXPLORER */
typedef struct {
BYTE2 ewFolder_pg; /* the folder page number */
BYTE2 ewFile_pg; /* the file page number */
BYTE2 ewFolder_level; /* the folder level */
BYTE2 ewFolder_idx; /* Opened folder index: ui side index */
BYTE2 ewFolder_idx_tmp; /* Temporary Opened folder index: ui side index */
BYTE2 ewFile_idx; /* file selection index */
BYTE2 ewFile_idx_tmp; /* Temporary file index: ui side index */
BYTE2 ewFile_idx_old; /* Old select file index */
BYTE2 ewFolder_idx_old; /* Old select folder index */
BYTE2 ewFile_idx_area_chg; /* Change file index //@dh051122*/
BYTE2 ewFolder_idx_area_chg; /* Change file index //@dh051122*/
BYTE2 ewFolder_level_area_chg; /* Change file index //@dh051122*/
BYTE2 ewFile_idx_mode_chg; /* Change file index //@dh051122*/
BYTE2 ewFile_pg_chg; /* Change page index //@dh051122*/
BYTE2 ewTotal_files; /* in ewFolder_idx folder */
} MmpSelectInfo_st;
typedef struct {
UINT eiRepeat_a; /* byte position */
UINT eiRepeat_b;
UINT eiRepeat_a_pts; /* pts in msec */
UINT eiResume; // cydrain 20051221
UINT eiResume_pts; // cydrain 20051221
UINT eiCur_time;
UINT eiTotal_time;
BYTE4 eiPlay_history[MMP_HISTORY_ARRY_NUM];/* For storing the play history */
BYTE4 eiPlay_count;
BYTE2 ecConv_total;
BYTE2 *epConv_table; /* audio file conversion table from file list*/
MmpRef_st estDirRef; /* The reference folder */
FS_Entry_st *epEntry_list;
#if _API_CAP_GLB_MPVD_FRAME_MODE
FS_Entry_st *epSmiEntry_list; /* in order to hide smi file in explore window*/
FS_File_t etSmi_fid;
#endif
FS_File_t etPlay_fid;
RepeatSub_et ecRepeat_state; // cydrain 20060412
RepeatSub_et ecRepeat_ab;
BYTE1 ecPlay_speed;
BYTE1 ecPlay_mode;
MmpSelectInfo_st estSel;
} MmpAvPlayCtrl_st;
typedef struct {
FS_Entry_st * epEntry_list;
MmpSelectInfo_st estSel;
BOOL ebThumb_view;
BOOL ebProgressive;
UINT eiWidth;
UINT eiHeight;
USHORT eiOrg_width;
USHORT eiOrg_height;
UINT eiSlide_time; /* if 0, slide show off */
BYTE2 ecConv_total;
BYTE2 *epConv_table; /* image file conversion table from file list*/
FS_File_t etPlay_fid;
BYTE2 ewAlbum_init_index;
BYTE2 ewAlbum_count;
BOOL ebAlbum_init;
BYTE1 ecScan_count; /* if ebProgressive == TRUE */
BYTE1 ecPlay_mode;
MmpImage_st estImage;
BYTE1 ecPlay_status;
BYTE1 ecRepeat_state;
} MmpImgPlayCtrl_st;
/* For DVS Solution */
typedef struct {
MmpAvPlayCtrl_st *epstBg_play;
MmpImgPlayCtrl_st *epstImg_play;
#if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE
MmpVidPlayCtrl_st *epstVid_play;
#endif
BOOL ebBg_played; /* TRUE: background play running */
BOOL ebRead_reverse; /* TRUE: play the last one after reading folder */
BOOL ebEOF; /* EOD can be handled after this flag TRUE */
MmpState_et etMmp_state;
MmpDspSync_et etDsp_sync; /* which information displayed */
MmpStopMode_et etStop_mode;
BYTE4 eiFile_page_type; /* refer Fs_api.h */
/*rm.jung @ 051024 : base_merge*/
MmpRef_st estDirRef; /* The reference folder */
MmpRef_st estRef_Cur_list; /*rm.jung @ 060110*/
MmpRef_st *epstRef_next_list; /* Reference folder list for next play */
MmpRef_st *epstRef_prev_list; /* Reference folder list for prev play */
FS_Entry_st *epCtl_list; /* the folder page or file page list for opening a folder */
FS_Entry_st *epFolder_list;
FS_Entry_st *epEntry_list;
FS_Entry_st *epPgm_list; /*rm.jung @ 051124*/
BYTE2 ecPgm_play_index; /*rm.jung @ 051124*/
MmpProgram_st *epstPgm_data;
#if _APP_CAP_FUNC_JPG_PLAY_MODE
MmpProgram_st *epstPgm_image;
#endif
FS_Entry_st *epFlatten_list;
BYTE2 ecConv_total;
BYTE2 *epConv_table;
MmpFolderListTotal_st estTotal_folders;
MmpFileListTotal_st estTotal_files; /*rm.jung @ 060106*/
/*rm.jung @ 051014 : for playlist (program)*/
MmpPgmNode_st ewPgm_list[MMP_MAX_PROGRAM];
BYTE1 ecPgm_pos;
BYTE2 ewPgm_sel_pos;
BYTE2 ewPgm_sel_pg;
BYTE2 ewPgm_sel_old_pos; //@dh051018
BYTE2 ewPgm_cursor_pos;
/* <<< @: 5010.joe.kang 060119 : To hide SMI file, add ctrl table index */
BYTE2 ecCtrl_total; /* Filtered total file number for opening a folder */
BYTE2 *ecCtrl_table; /* Filtered file page list for opening a folder */
/* >>> @: 5010.joe.kang 060119 : To hide SMI file, add ctrl table index */
MmpSelectInfo_st estSel;
BYTE2 ewFolder_hi; /* highlighted folder. */
/* <<< @ common. kimjungtae. 060224 : expand name length from 46 to 256 for long name file
in case of MP3 play list must have MMP_CTRL_PAGE_UNIT_SIZE + 1 */
CHAR ecFolder_page[(MMP_CTRL_PAGE_UNIT_SIZE+1)*(MMP_NAME_LENGTH+1)];
CHAR ecFile_page[(MMP_CTRL_PAGE_UNIT_SIZE+1)*(MMP_NAME_LENGTH+1)];
//CHAR ecFile_page[1024];
/* <<< @ common. kimjungtae. 060224 */
PbTime_st estPb_time;
BYTE1 ebAuto_play;
BYTE1 ebDecode_started;
BYTE1 ecEmer_cnt; /* Emergency counter */
BYTE1 ecPlayerr_cnt;
BOOL ebPlay_err_recover;
BYTE4 eiPlay_history[MMP_HISTORY_ARRY_NUM];/* For storing the play history */
BYTE2 ewPlay_count;
BYTE2 ewFolder_level;
BYTE2 ewFolder_level_old; //@dh051116 : Old index level
FS_Drive_et etMnt_drv;
union {
SetMainState_t state_prev;
OSD_MainType_et dsp_prev;
} estSetup_state_prev;
#if _CUSTOM_OPTION_FOR_RECODER_ //@ha050925
BYTE2 ecMmp_folder_dsp_cnt;
BYTE2 ecPgm_folder_dsp_cnt;
#endif //_SUPPORT_RECODER_MMP
/* <<< @:PAL.jsh050813 */
MmpPlayStatus_et ewPlay_status;
//<<<@R3600.jj.051129 cache for filetype
MmpFileType_et etCurrentFileType;
//>>>@R3600.jj.051129 cache for filetype
BYTE2 usTotalFolders; // <<< @: 5010.joe.kang 060124
#if (_CUSTOM_ID_==_CUSTOM_ID_BENIX_)
BYTE1 ebAllmedia_type; /* for displaying the mmp title */
#endif
} MmpCtrl_st;
#endif /* _APP_CAP_OSD_FLATTEN_EXPLORER */
typedef struct{
BYTE2 ewFile_index;
BYTE2 ewFolder_index;
UINT ewTime_resume; // cydrain 20060425
MmpFileType_et file_type;
#if _APP_CAP_FUNC_MMP_FIXED_SUB_SCHEME //azureming@060724!!
ULONG iEntryLba;
#endif
#if _APP_CAP_NAV_USB_DISC || _APP_CAP_NAV_FX_DATA
BYTE1 disc_mode;
#endif
}MmpResumeInfo_st;
#if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE // cydrain 20060210
#ifdef _MMP_BOOKMARK
typedef struct {
BOOL valid;
UINT folder_index;
UINT file_index;
UINT bookmark_time;
#if _APP_CAP_FUNC_MMP_FIXED_SUB_SCHEME //azureming@060724!!
ULONG iEntryLba;
#endif
} MmpBookmarkInfo_t;
extern BYTE2 gMmpBookmark_flag_num;
extern MmpBookmarkInfo_t gMmpBookmark_info[MAX_BOOKMARK_NUM];
#endif
#endif
#if _APP_CAP_FUNC_MMP_POWER_RESUME // cydrain 20060425
extern MmpResumeInfo_st gMmpPowerResume;
#endif
extern MmpCtrl_st *gpstMmp_ctrl;
extern volatile BOOL gMmpSubtitleShown_flag; // cydrain 20060524
VOID InitMmpOsd(VOID);
VOID DeInitMmpOsd(VOID);
/******************************************************************************
* By : Liu renliang
* Description : the function belows should be init by osd manager when start
* during playing this also may be called
******************************************************************************
*/
VOID SetMmpImageInfoState(MmpImgInfoSub_et image_info);
VOID SetMmpalbum_page_num(BYTE2 album_page);
VOID SetMmpAlbumSelect(BYTE2 select);
VOID SetMmpNoticeType(MmpNoticeType_et notice_type);
VOID SetMmpNoticeString(char *notice_string);
VOID AddMmpNoticeString(char *notice_string);//By QQ 050801
//VOID SprintfMmpNoticeString(const char *fmt, ... );//By QQ 050802
/******************************************************************************
* By : Liu renliang
* Description : the function below is used to draw osd to decide what to do in key hander
******************************************************************************
*/
MmpModeSub_et GetMmpModeState(VOID);
RepeatSub_et GetMmpRepeatState(VOID);
VOID SetMmpRepeatState(RepeatSub_et state);//By QQ 051026
#if _APP_CAP_FUNC_AUDIO_LR_IN_MMP
//S5H_AdmChnCont_t GetMmpAudioState(VOID);
S5H_Lrstereo_et GetMmpAudioState(VOID);//BY QQ 050904 /*S5H_AdmChnCont_t*/
#endif /* _APP_CAP_FUNC_AUDIO_LR_IN_MMP */
MmpImgInfoSub_et GetMmpImageInfoState(VOID);
BYTE2 GetMmpAlbumSelect(VOID);
BOOL GetMmpInfoState(VOID);
MmpNoticeType_et GetMmpNoticeType(VOID);
VOID GetMmpNoticeString(char *notice_string);
BYTE2 GetMmpIndexofFirstPlayFile(VOID);
MmpFileType_et GetMmpFileTypeCursor(VOID);
#ifdef __cplusplus
}
#endif
#endif /* _MMP_GLOBAL_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -