blob: 5c5083df85d25d97662053d4285cd107485a4196 [file] [log] [blame]
/*****************************************************************************
* °æ±¾ËùÓÐ (C)2008ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾
* Ä£¿éÃû £º
* ʵÏÖ¹¦ÄÜ £º
* ×÷Õß £º
* °æ±¾ £º
* Íê³ÉÈÕÆÚ £º
* ÆäËü˵Ã÷ £ºMSPÊÓÆµ²¥·Å¶ÔÍâ½Ó¿ÚÍ·Îļþ
* ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
* ---------------------------------------------------------------------
* 2008/08/01 V1.0 XXXX XXXX
************************************************************************/
#ifndef ZTE_VIDEO_H
#define ZTE_VIDEO_H
/**************************************************************************
* Í·Îļþ°üº¬ *
**************************************************************************/
#include "zte_display.h"
/**************************************************************************
* ºê *
**************************************************************************/
#define VIDEO_MAX_PATH_LEN 1024
/**************************************************************************
* Êý¾ÝÀàÐÍ *
**************************************************************************/
typedef enum
{
VIDEO_FILE_TYPE_MP4,
VIDEO_FILE_TYPE_3GP,
VIDEO_FILE_TYPE_K3G,
VIDEO_FILE_TYPE_UNKNOWN
} VIDEO_BUFFER_FILE_TYPE_E;
typedef enum
{
CHANNEL_OUT_RECEIVER = 1, /*ÌýͲ*/
CHANNEL_OUT_SPEAKER , /*speaker*/
CHANNEL_OUT_EARPHONE, /*¶ú»ú*/
CHANNEL_OUT_SPEAKER_EARPHONE, /*¶ú»ú + SpeakerͬʱÊä³ö*/
CHANNEL_OUT_BLUETOOTH
}VIDEO_CHANNEL_OUT_TYPE_E;
typedef enum
{
VIDEO_VOLUME_LEVEL_0,
VIDEO_VOLUME_LEVEL_1,
VIDEO_VOLUME_LEVEL_2,
VIDEO_VOLUME_LEVEL_3,
VIDEO_VOLUME_LEVEL_4,
VIDEO_VOLUME_LEVEL_5
}VIDEO_VOLUME_LEVEL_E;
typedef enum
{
VIDEO_SEEK_FROM_CUR, /*´Óµ±Ç°Î»ÖÃseek*/
VIDEO_SEEK_FROM_BEGIN /*´Ó¿ªÊ¼Seek*/
}VIDEO_PLAY_SEEK_MODE;
typedef enum
{
VIDEO_PLAY_STATE_IDLE,
VIDEO_PLAY_STATE_READY,
VIDEO_PLAY_STATE_PLAY,
VIDEO_PLAY_STATE_PAUSE,
VIDEO_PLAY_STATE_STOP
}VIDEO_PLAY_STATE;
typedef struct
{
char filepath[VIDEO_MAX_PATH_LEN+1]; /*ÊÓÆµµÄ×ÊԴ·¾¶*/
RECT_T play_rect;
MAN_ROTATE_TYPE rotate;
VIDEO_CHANNEL_OUT_TYPE_E channel;
VIDEO_VOLUME_LEVEL_E volume;
VIDEO_PLAY_STATE curstate;
UINT8 *videoBuf; /* Ö¸ÏòÊÓÆµbufferÊý¾ÝµÄÖ¸Õë */
UINT32 videoBuffSize; /* ÊÓÆµbufferµÄ´óС */
VIDEO_BUFFER_FILE_TYPE_E videotype; /* ÊÓÆµÀàÐÍ */
}VIDEO_PLAY_PARAM_T;
typedef struct
{
UINT32 pos;
VIDEO_PLAY_SEEK_MODE seekmode;
}VIDEO_PLAY_SEEK_T;
typedef struct
{
UINT32 dwTotalTime;
DISPLAY_SIZE_T tsize;
UINT32 dwOnlyHaveAudio;
}VIDEO_PLAY_INFO;
/**************************************************************************
* º¯ÊýÔ­ÐÍ *
**************************************************************************/
DCAMERA_RETURN_VALUE_E Video_Open(void);
DCAMERA_RETURN_VALUE_E Video_Close(void);
DCAMERA_RETURN_VALUE_E Video_Play_Init(VIDEO_PLAY_PARAM_T *param);
DCAMERA_RETURN_VALUE_E Video_Play_Buffer_Init(VIDEO_PLAY_PARAM_T *param);
DCAMERA_RETURN_VALUE_E Video_Play_Release(void);
DCAMERA_RETURN_VALUE_E Video_StartPlay(VIDEO_PLAY_PARAM_T *param);
DCAMERA_RETURN_VALUE_E Video_StopPlay(void);
DCAMERA_RETURN_VALUE_E Video_PausePlay(void);
DCAMERA_RETURN_VALUE_E Video_ResumePlay(void);
DCAMERA_RETURN_VALUE_E Video_Seek(VIDEO_PLAY_SEEK_T *param);
DCAMERA_RETURN_VALUE_E Video_Rotate(VIDEO_PLAY_PARAM_T *param);
DCAMERA_RETURN_VALUE_E Video_GetCurTime(unsigned long *param);
DCAMERA_RETURN_VALUE_E Video_GetTotalTime(unsigned long *param);
DCAMERA_RETURN_VALUE_E Video_GetFileInfo(VIDEO_PLAY_INFO *param);
#endif