⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmn_core.h

📁 SAMSUNG 5009的源代码
💻 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 + -