dlna_mw_if.h 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. #ifndef __DLNA_MW_IF_H__
  2. #define __DLNA_MW_IF_H__
  3. #include "types.h"
  4. #include "photoplayer_if.h"
  5. #include "dlna_if.h"
  6. #define DLNA_MW_IF_SUCCESSFUL (0)
  7. #define DLNA_MW_IF_FAIL (-1)
  8. #define DLNA_MW_IF_PARAMETER_ERROR (-2)
  9. #define DLNA_MW_IF_ALLOCATION_ERROR (-3)
  10. #define DLNA_MW_IF_UNINITIALIZED (-4)
  11. #define DLNA_MW_IF_QUEUE_ERROR (-5)
  12. #define DMS_NAME_LEN 512
  13. #define DMS_PUDN_LEN 512
  14. #define DMS_MEDIAINFO_LEN 128
  15. #define DMS_URL_LEN 2048
  16. #define MEDIA_NAME_LEN 512
  17. #define MEDIA_URL_LEN 2048
  18. #define PROINFO_LEN 2048 //parser protocolinfo
  19. typedef struct _DLNA_MWInitPara
  20. {
  21. UINT32 bInitFlashDone;
  22. GL_Semaphore_t semaQuit;
  23. DLNA_MODE_e eMode;
  24. } DLNA_MWInitPara;
  25. typedef enum
  26. {
  27. DLNA_MW_CBK_DONE = 0,
  28. DLNA_MW_CBK_FAIL,
  29. DLNA_MW_CBK_DMS_LIST_DONE,
  30. DLNA_MW_CBK_DMS_CNT_DONE,
  31. DLNA_MW_CBK_DMS_CONTENT_LIST_DONE,
  32. DLNA_MW_CBK_DMS_CONTENT_LIST_ERROR,//5
  33. DLNA_MW_CBK_DMS_CONTENT_CNT_DONE,
  34. DLNA_MW_CBK_DMS_ADD,
  35. DLNA_MW_CBK_DMS_DELETE,
  36. DLNA_MW_CBK_DMR_CONTENT_LIST_DONE,
  37. DLNA_MW_CBK_DRAW_LARGE_PIC_DONE,//10
  38. DLNA_MW_CBK_DRAW_LARGE_PIC_ERROR,
  39. DLNA_MW_CBK_DRAW_THUMBNAIL_DONE,
  40. DLNA_MW_CBK_DRAW_THUMBNAIL_ERROR,
  41. DLNA_MW_CBK_STARTUP_FAIL,
  42. DLNA_MW_CBK_STARTUP_DONE,//15
  43. DLNA_MW_CBK_SHOW_PLAY,
  44. DLNA_MW_CBK_SHOW_STOP,
  45. DLNA_MW_CBK_SHOW_STOP_FAIL, //add by jiang.hu for mantis 0159370
  46. DLNA_MW_CBK_SHOW_PAUSE,
  47. DLNA_MW_CBK_SHOW_FF,//20
  48. DLNA_MW_CBK_SHOW_FR,
  49. DLNA_MW_CBK_SHOW_FR_FILE_BEGIN,
  50. DLNA_MW_CBK_SHOW_FF_FAIL,
  51. DLNA_MW_CBK_SHOW_FR_FAIL,
  52. DLNA_MW_CBK_SHOW_NEXT,//25
  53. DLNA_MW_CBK_SHOW_PREV,
  54. DLNA_MW_CBK_PLAY_DONE,
  55. DLNA_MW_CBK_CACHE_START,
  56. DLNA_MW_CBK_CACHE_STOP,
  57. DLNA_MW_CBK_PLAY_FINISH,//30
  58. DLNA_MW_CBK_PLAY_START,
  59. DLNA_MW_CBK_SET_MUTE,
  60. DLNA_MW_CBK_SET_VOLUME,
  61. DLNA_WM_CBK_DATA_DONE,
  62. DLNA_WM_CBK_DATA_FAIL,//35
  63. DLNA_MW_CBK_CHANGE2_NORMAL_PLAY_DONE,
  64. DLNA_MW_CBK_PE_NO_VIDEO_TRACK,
  65. DLNA_MW_CBK_PE_NOT_SUPPORT_AUDIO,
  66. DLNA_MW_CBK_GET_MUTE,
  67. DLNA_MW_CBK_GET_VOLUME,
  68. DLNA_MW_CBK_MAX//41
  69. } DLNA_MW_CallbackType_e;
  70. typedef enum
  71. {
  72. DLNA_DEVICE_DMS = 0,
  73. DLNA_DEVICE_DMR,
  74. DLNA_DEVICE_CP,
  75. } DLNA_DEVICE_TYPE;
  76. typedef enum
  77. {
  78. DLNA_PLAYMODE_PLAY_ORDER,
  79. DLNA_PLAYMODE_REPEAT_ALL,
  80. DLNA_PLAYMODE_REPEAT_ONE,
  81. DLNA_PLAYMODE_PLAY_RANDOM,
  82. } DLNA_MW_PlayMode;
  83. typedef enum
  84. {
  85. DLNA_MEDIA_UNKNOWN = 0,
  86. DLNA_MEDIA_AUDIO,
  87. DLNA_MEDIA_VIDEO,
  88. DLNA_MEDIA_PICTURE,
  89. DLNA_MEDIA_FOLDER,
  90. DLNA_MEDIA_TYPE_MAX,
  91. } DLNA_MEDIA_TYPE;
  92. typedef enum
  93. {
  94. DLNA_Speed_Normal = 0,
  95. DLNA_Speed_X2 = 2,
  96. DLNA_Speed_X4 = 4,
  97. DLNA_Speed_X8 = 8,
  98. DLNA_Speed_X16 = 16,
  99. DLNA_Speed_Max
  100. } DLNA_Play_Speed_e;
  101. //DMS information
  102. typedef struct _DLNA_DMSInfo
  103. {
  104. char DMSName[DMS_NAME_LEN];
  105. char Pudn[DMS_PUDN_LEN];
  106. char IconUrl[DMS_URL_LEN];
  107. } DLNA_DMSInfo;
  108. //DMS information list
  109. typedef struct _DLNA_DMSList
  110. {
  111. DLNA_DMSInfo DMSInfo;
  112. void *Next;
  113. } DLNA_DMSList;
  114. //DMS content info
  115. typedef struct _DLNA_DMSItemInfo
  116. {
  117. char Id[DMS_PUDN_LEN];
  118. char MediaName[DMS_NAME_LEN];
  119. char MediaPicUrl[MEDIA_URL_LEN];
  120. char MediaThumbUrl[MEDIA_URL_LEN];
  121. char MediaDuration[DMS_MEDIAINFO_LEN];
  122. char MediaSize[DMS_MEDIAINFO_LEN];
  123. char MediaResolution[DMS_MEDIAINFO_LEN];
  124. char MediaDate[DMS_MEDIAINFO_LEN];
  125. char MediaArtist[DMS_NAME_LEN];
  126. char MediaAlbum[DMS_NAME_LEN];
  127. char szBitrate[DMS_MEDIAINFO_LEN];
  128. char szProInfo[PROINFO_LEN]; //protocol info
  129. UINT64 dwFileSize;
  130. INT32 wchildCount;
  131. UINT32 dSecDuration; /*<MediaDuration second format */
  132. DLNA_MEDIA_TYPE MediaType;
  133. } DLNA_DMSItemInfo;
  134. //DMS contentlist
  135. typedef struct _DLNA_DMSContentList
  136. {
  137. DLNA_DMSItemInfo DMSContent;
  138. void* Next;
  139. } DLNA_DMSContentList;
  140. typedef int (*DLNA_MWCallbackFunc)(DLNA_MW_CallbackType_e dNetCallbackType, UINT32 dparam);
  141. INT32 DLNA_MW_IF_NetPlayerInitialize(void);
  142. INT32 DLNA_MW_IF_NetPlayerFinalize(void);
  143. INT32 DLNA_MW_IF_Initialize(DLNA_MWInitPara * pstInitPara, DLNA_MWCallbackFunc pfFMCallBack);
  144. INT32 DLNA_MW_IF_Finalize(void);
  145. INT32 DLNA_MW_IF_Request_DMSList(DLNA_DEVICE_TYPE DeviceType);
  146. INT32 DLNA_MW_IF_Request_DMSCnt(DLNA_DEVICE_TYPE DeviceType);
  147. INT32 DLNA_MW_IF_Request_DMSContList(char *Pudn, char *FileId, INT32 ItemIndex, DLNA_MEDIA_TYPE MediaType);
  148. INT32 DLNA_MW_IF_Request_DMSContenCnt(DLNA_MEDIA_TYPE MediaType);
  149. INT32 DLNA_MW_IF_Request_Data(UINT8* pUrl, UINT32 dIndex);
  150. INT32 DLNA_MW_IF_Get_DMSList(DLNA_DMSInfo *DMSInfo, INT32 DMSIndex, DLNA_DEVICE_TYPE DeviceType);
  151. INT32 DLNA_MW_IF_Get_DMSCount(void);
  152. INT32 DLNA_MW_IF_Get_DMSContList(DLNA_DMSItemInfo **DMSItemInfo, INT32 ItemIndex, DLNA_MEDIA_TYPE MediaType);
  153. INT32 DLNA_MW_IF_Get_DMSContenCount(void);
  154. INT32 DLNA_MW_IF_Get_ItemUrl(UINT8 **ppUrl, INT32 ItemIndex);
  155. UINT64 DLNA_MW_IF_Get_ItemFileSize(INT32 ItemIndex);
  156. INT32 DLNA_MW_IF_Get_Data(UINT8 **ppDataBuf, INT32 *dSize, INT32 Index);
  157. bool DLNA_MW_IF_SupportRange(INT32 Index);
  158. INT32 DLNA_MW_IF_Subscribe(char *Pudn);
  159. INT32 DLNA_MW_IF_Unsubscribe(char *Pudn);
  160. //---------------play control---------------------------------
  161. INT32 DLNA_MW_IF_Play(INT32 ItemIndex, DLNA_MEDIA_TYPE MediaType);
  162. INT32 DLNA_MW_IF_SetPlayMode(DLNA_MW_PlayMode ePlayMode);
  163. INT32 DLNA_MW_IF_GetPlayIndex(INT32 *pCurIndex);
  164. INT32 DLNA_MW_IF_Stop(void);
  165. INT32 DLNA_MW_IF_Pause(void);
  166. INT32 DLNA_MW_IF_FF(UINT32 dFactor);
  167. INT32 DLNA_MW_IF_FR(UINT32 dFactor);
  168. INT32 DLNA_MW_IF_Goto(UINT32 dSecond);
  169. INT32 DLNA_MW_IF_PlayNext(void);
  170. INT32 DLNA_MW_IF_PlayPre(void);
  171. INT32 DLNA_MW_IF_SetPicEffect(bool Mode);
  172. INT32 DLNA_MW_IF_SetPicSlideTime(PhotoPlayerSlideShowSwitch_e TimeSec);
  173. INT32 DLNA_MW_IF_SetPicSlideShow(bool Mode);
  174. INT32 DLNA_MW_IF_ClearPicFramBuffer(int index);//0:black, 5: TRANSPARENT
  175. INT32 DLNA_MW_IF_SetPicZoomIn(PhotoPlayerZoomInFactor_t stFactor);
  176. INT32 DLNA_MW_IF_SetPicZoomMove(PhotoPlayerZoomMoveFactor_t MoveFactor, UINT16 wStep, UINT16 wDistance);
  177. INT32 DLNA_MW_IF_SetPicRotation(enum effect_mode_t eRotation);
  178. INT32 DLNA_MW_IF_GetElapsedTime(UINT32 * pdTimeSec);
  179. INT32 DLNA_MW_IF_GetPlaybackInfo(void* pPBInfo);
  180. INT32 DLNA_MW_IF_GetCurrentAudioStreamNum(void* pCurAudioStreamNum);
  181. INT32 DLNA_MW_IF_GetTotalAudioStreamCount(void* pTotalAudioStreamCount);
  182. INT32 DLNA_MW_IF_GetAudioStreamAttribute(UINT32 dAudStrmIdx, void* pAudioStreamAttribute);
  183. INT32 DLNA_MW_IF_ChangeAudioStream(UINT32 dCurAudNo);
  184. INT32 DLNA_MW_IF_GetCurrentAudioChannelNum(void* pCurAudioStreamNum);
  185. INT32 DLNA_MW_IF_GetTotalAudioChannelCount(void* pTotalAudioStreamCount);
  186. INT32 DLNA_MW_IF_ChangeAudioChannel(UINT32 dCurAudNo);
  187. INT32 DLNA_MW_IF_SetSubPicOnOff(UINT32 dSubPicOnOff);
  188. INT32 DLNA_MW_IF_ChangeSubPic(UINT32 dSubPicId);
  189. INT32 DLNA_MW_IF_GetTotleSubPicCount(void* dSubPicCount);
  190. INT32 DLNA_MW_IF_GetSubPicOnOff(void * dSubPicOnOff);
  191. INT32 DLNA_MW_IF_GetCurSubPic(void * dCurSubPic);
  192. void DLNA_MW_IF_BackgroundProc_Init(DLNA_MWCallbackFunc pfMWCallBack);
  193. void DLNA_MW_IF_BackgroundProc_Final(void);
  194. void DLNA_MW_IF_SetDeviceNameRetrieveAPI(INT32 (*pfGetDeviceName) (char*));
  195. INT32 DLNA_MW_IF_ReStartDMR(void);
  196. #endif