📄 mmn_core.h
字号:
/******************************************************************************
* Filename : Mmn_core.h
* Start : 2004. 11. 15
* By : Taejin Kwon
* Contact : eric.kwon@samsung.com
* Description :
******************************************************************************
*/
#ifndef _MMN_CORE_H_
#define _MMN_CORE_H_
#ifdef __cplusplus
extern "C" {
#endif
/******************************************************************************
* DEFINES
*****************************************************************************/
/******************************************************************************
* Data Types
*****************************************************************************/
typedef signed int MMN_RETURN;
#define MMN_RETURN_OK 0
#define MMN_RETURN_FAIL -1
#define MMN_RETURN_TIMEOUT -2
#define MMN_RETURN_OPEN_FAIL -3
#define MMN_RETURN_SYS_FAIL -4
#define MMN_RETURN_NOT_SUPPRT -5
#define MMN_RETURN_NOT_READY -6
/* This Structure is used in MmnSetCapability(). */
typedef struct {
BOOL ebRead_retry; /* TRUE or FALSE */
UCHAR ecRetry_count; /* 1 ~ 99 */
} MmnCapability_st;
typedef enum {
MMN_PARAM_NORMAL_PLAY = 0,
MMN_PARAM_TRICK_F1 = 0x01,
MMN_PARAM_TRICK_F2 = 0x02,
MMN_PARAM_TRICK_F3 = 0x03,
MMN_PARAM_TRICK_F4 = 0x04,
MMN_PARAM_TRICK_F5 = 0x05,
MMN_PARAM_TRICK_F6 = 0x06,
MMN_PARAM_SLOW_F1 = 0x07,
MMN_PARAM_SLOW_F2 = 0x08,
MMN_PARAM_SLOW_F3 = 0x09,
MMN_PARAM_SLOW_F4 = 0x0A,
MMN_PARAM_SLOW_F5 = 0x0B,
MMN_PARAM_SLOW_F6 = 0x0C,
MMN_PARAM_TRICK_R1 = 0x11,
MMN_PARAM_TRICK_R2 = 0x12,
MMN_PARAM_TRICK_R3 = 0x13,
MMN_PARAM_TRICK_R4 = 0x14,
MMN_PARAM_TRICK_R5 = 0x15,
MMN_PARAM_TRICK_R6 = 0x16,
MMN_PARAM_SLOW_R1 = 0x17,
MMN_PARAM_SLOW_R2 = 0x18,
MMN_PARAM_SLOW_R3 = 0x19,
MMN_PARAM_SLOW_R4 = 0x1A,
MMN_PARAM_SLOW_R5 = 0x1B,
MMN_PARAM_SLOW_R6 = 0x1C
} MmnPlayparam_et;
typedef enum {
MMN_CTRL_NULL,
MMN_CTRL_PLAY,
MMN_CTRL_REPLAY,
MMN_CTRL_STOP,
MMN_CTRL_PAUSE,
MMN_CTRL_RESUME_STOP,
MMN_CTRL_RESUME,
MMN_CTRL_TIME_SEARCH,
MMN_CTRL_READ_CHECK,
MMN_CTRL_READ_ERROR,
MMN_CTRL_READ_DISCARD,
MMN_CTRL_READ_END,
MMN_CTRL_GOTO_WAIT,
MMN_CTRL_TERMINATE_CHUNK,
MMN_CTRL_CHANGE_PARAM, /* To change play direction & speed */
MMN_CTRL_FS_END /* it comes from F/E */
#if _APP_CAP_FUNC_MMP_MPG_TRICK_PLAY
, MMN_CTRL_READ_IPIC_END,
MMN_CTRL_HANDLE_EMERGENCY //azureming@060419
#endif
#if _APP_CAP_FUNC_MMP_TRICK_PLAY_WITHOUT_IDX //azureming@060515
,
MMN_CTRL_PLAY_WITHOUT_PARSING
#endif
} MmnCtrlCmd_et;
typedef struct {
UINT eiCtrl_index;
BYTE1 ecScan_count;
BOOL ebStop_partial;
BOOL ebSpecial_handle;
UINT eiSearch_time; /* in second */
MmnCtrlCmd_et eCmd;
MmnCtrlCmd_et eCmd_next;
MmnPlayparam_et etParam;
} MmnCtrlMsg_st;
/******************************************************************************
* FUNCTIONS for Core Interface
*****************************************************************************/
VOID MmnSetCapability( MmnCapability_st *pstCap );
MMN_RETURN MmnPlay( FS_Drive_et drv, FS_Entry_st *srcList, CHAR *szName, SINT index,
FS_File_t *tId, UINT cur_pts, UINT end_pts,
UINT iStart_offset, UINT iMarker_offset,
UINT iIntro_time,MmnPlayparam_et tParam );
MMN_RETURN MmnReplay( FS_File_t fId, BYTE1 scan_count );
MMN_RETURN MmnStop( FS_File_t tId, BOOL bRepeatAB, SysWait_t wait );
MMN_RETURN MmnPause( FS_File_t tId );
MMN_RETURN MmnStep( FS_File_t tId ); // <<< @: 5010.joe.kang 060208
MMN_RETURN MmnResumeStop( FS_File_t tId );
MMN_RETURN MmnResume( FS_File_t tId );
MMN_RETURN MmnTimeSeachPlay( FS_File_t tId, BYTE2 hour, BYTE2 min, BYTE2 sec);
MMN_RETURN MmnChangePlayParam( FS_File_t tId, MmnPlayparam_et param, BOOL bSpecial );
MMN_RETURN MmnInit ( VOID );
VOID MmnDeInit ( VOID );
BOOL MmnCheckDumpRequestFinal( VOID );
VOID MmnGetCurrentPlaytime( UINT *piCur_pts, FS_File_t tId );
VOID MmnGetTotalPlaytime( UINT *piTotal_pts, FS_File_t tId );
MMN_RETURN MmnGetCurrentPlayPoint( FS_File_t tId, UINT *piCur_point, UINT *piCur_pts );
MMN_RETURN MmnCheckNextPlayPoint( FS_File_t tId, UINT iPre_point, UINT iPre_pts, UINT *piCur_tps,
UINT *piCur_point );
VOID MmnSetMarkerFree( FS_File_t tId );
VOID MmnSetIntroFree( FS_File_t tId );
BOOL MmnSetStreamReady( FS_File_t tId );
VOID Mmnsetvideotype(VOID);//gaoping 20060602
MMN_RETURN MmnPostCtrlMessage( MmnCtrlMsg_st stMsg );
BOOL MmnCheckJpgState( VOID );
BOOL MmnCheckMpgFiles(FS_File_t tId); //azureming@060222
UINT MmnGetEndLba(FS_File_t tId);
UINT MmnGetStartLba(FS_File_t tId);
//gaoping 20060404
UINT MmnGetCurrentTrickplace( FS_File_t tId );
MMN_RETURN MmnStep( FS_File_t tId ); // <<< @: 5010.joe.kang 060208
#if _APP_CAP_FUNC_MMP_MPG_TRICK_PLAY
BOOL MmnsendReadEnd(FS_File_t Id);
MMN_RETURN MmnHandleEmergency(FS_File_t tId);
#endif
//gaoping 20060216
VOID MmnSetparsing( FS_File_t tId ,BOOL parsing_only);
VOID MmnSetEmergencyFlag(FS_File_t tId, BOOL emerFlag);
#if _APP_CAP_FUNC_MMP_TRICK_PLAY_WITHOUT_IDX //azureming@060515
MMN_RETURN MmnPlayWithoutParsing(FS_File_t tId);
#endif
#ifdef __cplusplus
}
#endif
#endif /* _MMN_CORE_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -