#ifndef __DLNA_MW_IF_H__ #define __DLNA_MW_IF_H__ #include "types.h" #include "photoplayer_if.h" #include "dlna_if.h" #define DLNA_MW_IF_SUCCESSFUL (0) #define DLNA_MW_IF_FAIL (-1) #define DLNA_MW_IF_PARAMETER_ERROR (-2) #define DLNA_MW_IF_ALLOCATION_ERROR (-3) #define DLNA_MW_IF_UNINITIALIZED (-4) #define DLNA_MW_IF_QUEUE_ERROR (-5) #define DMS_NAME_LEN 512 #define DMS_PUDN_LEN 512 #define DMS_MEDIAINFO_LEN 128 #define DMS_URL_LEN 2048 #define MEDIA_NAME_LEN 512 #define MEDIA_URL_LEN 2048 #define PROINFO_LEN 2048 //parser protocolinfo typedef struct _DLNA_MWInitPara { UINT32 bInitFlashDone; GL_Semaphore_t semaQuit; DLNA_MODE_e eMode; } DLNA_MWInitPara; typedef enum { DLNA_MW_CBK_DONE = 0, DLNA_MW_CBK_FAIL, DLNA_MW_CBK_DMS_LIST_DONE, DLNA_MW_CBK_DMS_CNT_DONE, DLNA_MW_CBK_DMS_CONTENT_LIST_DONE, DLNA_MW_CBK_DMS_CONTENT_LIST_ERROR,//5 DLNA_MW_CBK_DMS_CONTENT_CNT_DONE, DLNA_MW_CBK_DMS_ADD, DLNA_MW_CBK_DMS_DELETE, DLNA_MW_CBK_DMR_CONTENT_LIST_DONE, DLNA_MW_CBK_DRAW_LARGE_PIC_DONE,//10 DLNA_MW_CBK_DRAW_LARGE_PIC_ERROR, DLNA_MW_CBK_DRAW_THUMBNAIL_DONE, DLNA_MW_CBK_DRAW_THUMBNAIL_ERROR, DLNA_MW_CBK_STARTUP_FAIL, DLNA_MW_CBK_STARTUP_DONE,//15 DLNA_MW_CBK_SHOW_PLAY, DLNA_MW_CBK_SHOW_STOP, DLNA_MW_CBK_SHOW_STOP_FAIL, //add by jiang.hu for mantis 0159370 DLNA_MW_CBK_SHOW_PAUSE, DLNA_MW_CBK_SHOW_FF,//20 DLNA_MW_CBK_SHOW_FR, DLNA_MW_CBK_SHOW_FR_FILE_BEGIN, DLNA_MW_CBK_SHOW_FF_FAIL, DLNA_MW_CBK_SHOW_FR_FAIL, DLNA_MW_CBK_SHOW_NEXT,//25 DLNA_MW_CBK_SHOW_PREV, DLNA_MW_CBK_PLAY_DONE, DLNA_MW_CBK_CACHE_START, DLNA_MW_CBK_CACHE_STOP, DLNA_MW_CBK_PLAY_FINISH,//30 DLNA_MW_CBK_PLAY_START, DLNA_MW_CBK_SET_MUTE, DLNA_MW_CBK_SET_VOLUME, DLNA_WM_CBK_DATA_DONE, DLNA_WM_CBK_DATA_FAIL,//35 DLNA_MW_CBK_CHANGE2_NORMAL_PLAY_DONE, DLNA_MW_CBK_PE_NO_VIDEO_TRACK, DLNA_MW_CBK_PE_NOT_SUPPORT_AUDIO, DLNA_MW_CBK_GET_MUTE, DLNA_MW_CBK_GET_VOLUME, DLNA_MW_CBK_MAX//41 } DLNA_MW_CallbackType_e; typedef enum { DLNA_DEVICE_DMS = 0, DLNA_DEVICE_DMR, DLNA_DEVICE_CP, } DLNA_DEVICE_TYPE; typedef enum { DLNA_PLAYMODE_PLAY_ORDER, DLNA_PLAYMODE_REPEAT_ALL, DLNA_PLAYMODE_REPEAT_ONE, DLNA_PLAYMODE_PLAY_RANDOM, } DLNA_MW_PlayMode; typedef enum { DLNA_MEDIA_UNKNOWN = 0, DLNA_MEDIA_AUDIO, DLNA_MEDIA_VIDEO, DLNA_MEDIA_PICTURE, DLNA_MEDIA_FOLDER, DLNA_MEDIA_TYPE_MAX, } DLNA_MEDIA_TYPE; typedef enum { DLNA_Speed_Normal = 0, DLNA_Speed_X2 = 2, DLNA_Speed_X4 = 4, DLNA_Speed_X8 = 8, DLNA_Speed_X16 = 16, DLNA_Speed_Max } DLNA_Play_Speed_e; //DMS information typedef struct _DLNA_DMSInfo { char DMSName[DMS_NAME_LEN]; char Pudn[DMS_PUDN_LEN]; char IconUrl[DMS_URL_LEN]; } DLNA_DMSInfo; //DMS information list typedef struct _DLNA_DMSList { DLNA_DMSInfo DMSInfo; void *Next; } DLNA_DMSList; //DMS content info typedef struct _DLNA_DMSItemInfo { char Id[DMS_PUDN_LEN]; char MediaName[DMS_NAME_LEN]; char MediaPicUrl[MEDIA_URL_LEN]; char MediaThumbUrl[MEDIA_URL_LEN]; char MediaDuration[DMS_MEDIAINFO_LEN]; char MediaSize[DMS_MEDIAINFO_LEN]; char MediaResolution[DMS_MEDIAINFO_LEN]; char MediaDate[DMS_MEDIAINFO_LEN]; char MediaArtist[DMS_NAME_LEN]; char MediaAlbum[DMS_NAME_LEN]; char szBitrate[DMS_MEDIAINFO_LEN]; char szProInfo[PROINFO_LEN]; //protocol info UINT64 dwFileSize; INT32 wchildCount; UINT32 dSecDuration; /*