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

📄 m4play.h

📁 linux DVR 设备 开发包
💻 H
字号:

/*
 * Edit At 2007-04-05
 */

#ifndef	_PLAYSDKPU_H_
#define _PLAYSDKPU_H_

#ifdef __cplusplus
	extern "C"{
#endif

#define SOURCE_BUF_MAX	1024 * 1000
#define SOURCE_BUF_MIN	1024 * 50

#define T_AUDIO16		0
#define T_YV12			3

#define STREAM_REALTIME	0
#define STREAM_FILE		1

typedef struct tagRect
{
	int x;
	int y;
	int uWidth;
	int uHeight;
}PLAYRECT;

typedef struct tagInitInfo
{
	int	uWidth;
	int uHeight;
}INITINFO;

typedef struct frameinfo
{
	long width;
	long height;
	long stamp;
	long type;
	long frame_rate;
}FRAME_INFO;

#define BY_FRAMENUM  1
#define BY_FRAMETIME 2

typedef struct framepos
{
	long nFilePos;		 /* File Position */
	long nFrameNum; 	 /* Frame Number */
	long nFrameTime; 	 /* Frame StampTime */
}FRAME_POS,*PFRAME_POS;

#define BUF_VIDEO_SRC		1
#define BUF_AUDIO_SRC		2
#define BUF_VIDEO_RENDER	3
#define BUF_AUDIO_RENDER	4

#define M4PErr_NoError				0x00000000
#define M4PErr_SDLInitFail			0x00000001
#define M4PErr_SDLSetVideoFail		0x00000002
#define M4PErr_CreateYUVOverlayFail	0x00000003
#define M4PErr_SDLAddTimerFail		0x00000004
#define M4PErr_CreateMutexFail		0x00000005
#define M4PErr_InvalidFuction		0x00010000
#define M4PErr_InvalidParam			0x00010001
#define M4PErr_M4SDKUnInit			0x00010002
#define M4PErr_OpenFileFail			0x00010003
#define M4PErr_OrderFail			0x00010004
#define M4PErr_AllocMemFail			0x00010005
#define M4PErr_ThreadCreateFail		0x00010006
#define M4PErr_BadFileFormat		0x00010007
#define M4PErr_InitVideoDecoderFail	0x00010008
#define M4PErr_InitAudioDecoderFail	0x00010009

#define M4PErr_DecoderVideoFail		0x0001000a
#define M4PErr_DecoderAudioFail		0x0001000b
#define M4PErr_AudioCreateFail		0x0001000c
#define M4PErr_SurportFileOnly		0x0001000d
#define M4PErr_SurportStreamOnly	0x0001000e
#define M4PErr_BadFileHead			0x0001000f
#define M4PErr_VersionIncorrect		0x00010010
#define M4PErr_BufOverflow			0x00010011
#define M4PErr_JpegCompressFail		0x00010012
#define M4PErr_OpenSDLFailed		0x00010013

int Hik_PlayM4_Init(INITINFO InitInfo, int using_SDL);	/*	Should be done First */
int Hik_PlayM4_DeInit(void);							/*  Should be done at Last */
int Hik_PlayM4_SetDisplay(int width, int height);

int Hik_PlayM4_OpenFile(int nPort,char * sFileName);
int Hik_PlayM4_CloseFile(int nPort);
int Hik_PlayM4_Play(int nPort, PLAYRECT rect);
int Hik_PlayM4_Stop(int nPort);
int Hik_PlayM4_Pause(int nPort,int nPause);
int Hik_PlayM4_Fast(int nPort);
int Hik_PlayM4_Slow(int nPort);

int Hik_PlayM4_SetPlayPos(int nPort, float percent);
float Hik_PlayM4_GetPlayPos(int nPort);

int Hik_PlayM4_SetFileEndCallBack(int nPort, void (*FileEndCallBack)(int nPort));
int Hik_PlayM4_SetDecCallBack(int nPort, void (*DecCallBack)(int nPort, char *pBuf, int size, FRAME_INFO *pFrameInfo, long reservd1, long reserved2));
int Hik_PlayM4_SetDisplayCallBack(int nPort, void (*DisplayCallBack)(int nPort, char *pBuf, long size,long width, long height, long stamp, long type,long reservd));

int Hik_PlayM4_PlaySound(int nPort);
int Hik_PlayM4_StopSound();
int Hik_PlayM4_PlaySoundShare(int nPort);
int Hik_PlayM4_StopSoundShare(int nPort);
int Hik_PlayM4_BeginMixSound();
int Hik_PlayM4_OpenSound(int nPort);
int Hik_PlayM4_CloseSound(int nPort);
int Hik_PlayM4_StopMixSound();

int Hik_PlayM4_SetVolume(int nPort, int volume);

int Hik_PlayM4_SetDisplayFrames(int nPort, int num);

int Hik_PlayM4_OneByOne(int nPort);

int Hik_PlayM4_GetFileTime(int nPort);
int Hik_PlayM4_GetPlayedTime(int nPort);
int Hik_PlayM4_GetFileFrames(int nPort);
int Hik_PlayM4_GetPlayedFrames(int nPort);
int Hik_PlayM4_GetCurrentFrameNum(int nPort);
int Hik_PlayM4_GetCurrentFrameRate(int nPort);
int Hik_PlayM4_GetPictureSize(int nPort, int *pwidth, int *pheight);


int Hik_PlayM4_OpenStream(int  nPort, char *pfileheadbuf, int size, int streambufsize);
int Hik_PlayM4_InputData(int nPort, char *pBuf, int nSize);
int Hik_PlayM4_CloseStream(int nPort);

int Hik_PlayM4_ConvertToBmpFile( char *pBuf, long size,long width, long height, long type,char *filename);
int Hik_PlayM4_GetFileHeadLength();

int Hik_PlayM4_GetLastErrorCode();

int Hik_PlayM4_SetPlayRect(int nPort, PLAYRECT rect);

int Hik_PlayM4_GetSourceBufferRemain(int nPort);
int Hik_PlayM4_ResetSourceBuffer(int nPort);

int Hik_PlayM4_ThrowBFrameNum(int nPort, unsigned int num);
int Hik_PlayM4_SetPicQuality(int nPort, unsigned int hightquality);
int Hik_PlayM4_GetPicQuality(int nPort, unsigned int *hightquality);

int Hik_PlayM4_SetFileRefCallBack(int nPort, void (*FileRefCallBack)(int nPort));
int Hik_PlayM4_OneByOneBack(int nPort);
int Hik_PlayM4_SetCurrentFrameNum(int nPort, unsigned int framenum);
int Hik_PlayM4_GetKeyFramePos(int nPort,unsigned int nValue, unsigned int nType, PFRAME_POS pframePos);
int Hik_PlayM4_GetNextKeyFramePos(int nPort,unsigned int nValue, unsigned int nType, PFRAME_POS pframePos);

int Hik_PlayM4_OpenStreamEx(int  nPort, char *pfileheadbuf, int size, int streambufsize);
int Hik_PlayM4_InputVideoData(int nPort, char *pBuf, int nSize);
int Hik_PlayM4_InputAudioData(int nPort, char *pBuf, int nSize);
int Hik_PlayM4_CloseStreamEx(int nPort);

int Hik_PlayM4_SetOpenStreamMode(int  nPort, int mode);
int Hik_PlayM4_GetStreamMode(int nPort);

int Hik_PlayM4_SetIndexFile(int nPort,char* sIndexName);
int Hik_PlayM4_GetSpecialData(int nPort);
int Hik_PlayM4_InputFileHead(int nPort, char* pFileHeadBuf, int size);
int Hik_PlayM4_SetDecodeIOnly(int nPort, int enable);
int Hik_PlayM4_RegisterBCallBack(int nPort, void(*BThrownCallBack)(int nPort));
int Hik_PlayM4_GetAbsFrameNum(int nPort);
int Hik_PlayM4_SetDeflash(int nPort, unsigned int enable);
int Hik_PlayM4_CheckDiscontinuousFrameNum(int nPort, unsigned int nEnable);
int Hik_PlayM4_ResetBuffer(int nPort,unsigned int nBufType);

int Hik_PlayM4_SetJpegQuality(long nQuality);
int Hik_PlayM4_ConvertToJpegFile(char *pBuf,long nSize,long nWidth,long nHeight,long nType,char *sFileName);

#ifdef __cplusplus
	}
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -