1
1
/*
2
- Copyright (c) 2013-2015 EasyDarwin.ORG. All rights reserved.
3
- Github: https://github.com/EasyDarwin
4
- WEChat: EasyDarwin
5
- Website: http://www.easydarwin.org
2
+ Copyright (c) 2013-2019 EasyDarwin.ORG. All rights reserved.
3
+ Github: https://github.com/EasyDarwin
4
+ WEChat: EasyDarwin
5
+ Website: http://www.easydarwin.org
6
6
*/
7
7
#ifndef _Easy_Types_H
8
8
#define _Easy_Types_H
@@ -16,13 +16,10 @@ Website: http://www.easydarwin.org
16
16
#define Easy_APICALL
17
17
#endif
18
18
19
- // Handle Type
20
- #define Easy_RTSP_Handle void*
21
- #define Easy_Pusher_Handle void*
22
- #define Easy_HLS_Handle void*
19
+ // Handle
20
+ #define Easy_Handle void*
23
21
24
22
typedef int Easy_I32 ;
25
-
26
23
typedef unsigned char Easy_U8 ;
27
24
typedef unsigned char Easy_UChar ;
28
25
typedef unsigned short Easy_U16 ;
@@ -31,45 +28,45 @@ typedef unsigned char Easy_Bool;
31
28
32
29
enum
33
30
{
34
- Easy_NoErr = 0 ,
35
- Easy_RequestFailed = -1 ,
36
- Easy_Unimplemented = -2 ,
37
- Easy_RequestArrived = -3 ,
38
- Easy_OutOfState = -4 ,
39
- Easy_NotAModule = -5 ,
40
- Easy_WrongVersion = -6 ,
41
- Easy_IllegalService = -7 ,
42
- Easy_BadIndex = -8 ,
43
- Easy_ValueNotFound = -9 ,
44
- Easy_BadArgument = -10 ,
45
- Easy_ReadOnly = -11 ,
46
- Easy_NotPreemptiveSafe = -12 ,
47
- Easy_NotEnoughSpace = -13 ,
48
- Easy_WouldBlock = -14 ,
49
- Easy_NotConnected = -15 ,
50
- Easy_FileNotFound = -16 ,
51
- Easy_NoMoreData = -17 ,
52
- Easy_AttrDoesntExist = -18 ,
53
- Easy_AttrNameExists = -19 ,
54
- Easy_InstanceAttrsNotAllowed = -20 ,
55
- Easy_InvalidSocket = -21 ,
56
- Easy_MallocError = -22 ,
57
- Easy_ConnectError = -23 ,
58
- Easy_SendError = -24
31
+ Easy_NoErr = 0 ,
32
+ Easy_RequestFailed = -1 ,
33
+ Easy_Unimplemented = -2 ,
34
+ Easy_RequestArrived = -3 ,
35
+ Easy_OutOfState = -4 ,
36
+ Easy_NotAModule = -5 ,
37
+ Easy_WrongVersion = -6 ,
38
+ Easy_IllegalService = -7 ,
39
+ Easy_BadIndex = -8 ,
40
+ Easy_ValueNotFound = -9 ,
41
+ Easy_BadArgument = -10 ,
42
+ Easy_ReadOnly = -11 ,
43
+ Easy_NotPreemptiveSafe = -12 ,
44
+ Easy_NotEnoughSpace = -13 ,
45
+ Easy_WouldBlock = -14 ,
46
+ Easy_NotConnected = -15 ,
47
+ Easy_FileNotFound = -16 ,
48
+ Easy_NoMoreData = -17 ,
49
+ Easy_AttrDoesntExist = -18 ,
50
+ Easy_AttrNameExists = -19 ,
51
+ Easy_InstanceAttrsNotAllowed = -20 ,
52
+ Easy_InvalidSocket = -21 ,
53
+ Easy_MallocError = -22 ,
54
+ Easy_ConnectError = -23 ,
55
+ Easy_SendError = -24
59
56
};
60
57
typedef int Easy_Error ;
61
58
62
-
59
+ /* 授权激活,>0为激活可用天数(9999代表永久授权),<0为授权失败错误码 */
63
60
typedef enum __EASY_ACTIVATE_ERR_CODE_ENUM
64
61
{
65
- EASY_ACTIVATE_INVALID_KEY = -1 , /* 无效Key */
66
- EASY_ACTIVATE_TIME_ERR = -2 , /* 时间错误 */
67
- EASY_ACTIVATE_PROCESS_NAME_LEN_ERR = -3 , /* 进程名称长度不匹配 */
68
- EASY_ACTIVATE_PROCESS_NAME_ERR = -4 , /* 进程名称不匹配 */
69
- EASY_ACTIVATE_VALIDITY_PERIOD_ERR = -5 , /* 有效期校验不一致 */
70
- EASY_ACTIVATE_PLATFORM_ERR = -6 , /* 平台不匹配 */
71
- EASY_ACTIVATE_COMPANY_ID_LEN_ERR = -7 , /* 授权使用商不匹配 */
72
- EASY_ACTIVATE_SUCCESS = 0 , /* 激活成功 */
62
+ EASY_ACTIVATE_INVALID_KEY = -1 , /* 无效Key */
63
+ EASY_ACTIVATE_TIME_ERR = -2 , /* 时间错误 */
64
+ EASY_ACTIVATE_PROCESS_NAME_LEN_ERR = -3 , /* 进程名称长度不匹配 */
65
+ EASY_ACTIVATE_PROCESS_NAME_ERR = -4 , /* 进程名称不匹配 */
66
+ EASY_ACTIVATE_VALIDITY_PERIOD_ERR = -5 , /* 有效期校验不一致 */
67
+ EASY_ACTIVATE_PLATFORM_ERR = -6 , /* 平台不匹配 */
68
+ EASY_ACTIVATE_COMPANY_ID_LEN_ERR = -7 , /* 授权使用商不匹配 */
69
+ EASY_ACTIVATE_SUCCESS = 9999 , /* 永久授权 */
73
70
74
71
}EASY_ACTIVATE_ERR_CODE_ENUM ;
75
72
@@ -96,6 +93,8 @@ typedef enum __EASY_ACTIVATE_ERR_CODE_ENUM
96
93
#define EASY_SDK_RTP_FRAME_FLAG 0x00000008 /* RTP帧标志 */
97
94
#define EASY_SDK_SDP_FRAME_FLAG 0x00000010 /* SDP帧标志 */
98
95
#define EASY_SDK_MEDIA_INFO_FLAG 0x00000020 /* 媒体类型标志*/
96
+ #define EASY_SDK_DECODE_VIDEO_FLAG 0x00000040 /* 解码视频类型标志*/
97
+ #define EASY_SDK_DECODE_AUDO_FLAG 0x00000080 /* 解码音频类型标志*/
99
98
100
99
/* 视频关键字标识 */
101
100
#define EASY_SDK_VIDEO_FRAME_I 0x01 /* I帧 */
@@ -106,29 +105,33 @@ typedef enum __EASY_ACTIVATE_ERR_CODE_ENUM
106
105
/* 连接类型 */
107
106
typedef enum __EASY_RTP_CONNECT_TYPE
108
107
{
109
- EASY_RTP_OVER_TCP = 0x01 , /* RTP Over TCP */
108
+ EASY_RTP_OVER_TCP = 0x01 , /* RTP Over TCP */
110
109
EASY_RTP_OVER_UDP /* RTP Over UDP */
111
110
}EASY_RTP_CONNECT_TYPE ;
112
111
113
112
/* 媒体信息 */
114
113
typedef struct __EASY_MEDIA_INFO_T
115
114
{
116
- Easy_U32 u32VideoCodec ; /* 视频编码类型 */
117
- Easy_U32 u32VideoFps ; /* 视频帧率 */
118
-
119
- Easy_U32 u32AudioCodec ; /* 音频编码类型 */
120
- Easy_U32 u32AudioSamplerate ; /* 音频采样率 */
121
- Easy_U32 u32AudioChannel ; /* 音频通道数 */
122
- Easy_U32 u32AudioBitsPerSample ; /* 音频采样精度 */
123
-
124
- Easy_U32 u32H264SpsLength ; /* 视频sps帧长度 */
125
- Easy_U32 u32H264PpsLength ; /* 视频pps帧长度 */
126
- Easy_U8 u8H264Sps [128 ]; /* 视频sps帧内容 */
127
- Easy_U8 u8H264Pps [36 ]; /* 视频sps帧内容 */
115
+ Easy_U32 u32VideoCodec ; /* video codec */
116
+ Easy_U32 u32VideoFps ; /* video framerate */
117
+
118
+ Easy_U32 u32AudioCodec ; /* audio codec */
119
+ Easy_U32 u32AudioSamplerate ; /* audio samplerate */
120
+ Easy_U32 u32AudioChannel ; /* audio channel number */
121
+ Easy_U32 u32AudioBitsPerSample ; /* audio bit per sample */
122
+
123
+ Easy_U32 u32VpsLength ; /* video vps length */
124
+ Easy_U32 u32SpsLength ; /* video sps length */
125
+ Easy_U32 u32PpsLength ; /* video pps length */
126
+ Easy_U32 u32SeiLength ; /* video sei length */
127
+ Easy_U8 u8Vps [255 ]; /* video vps data */
128
+ Easy_U8 u8Sps [255 ]; /* video sps data */
129
+ Easy_U8 u8Pps [128 ]; /* video pps data */
130
+ Easy_U8 u8Sei [128 ]; /* video sei data */
128
131
}EASY_MEDIA_INFO_T ;
129
132
130
133
/* 帧信息 */
131
- typedef struct
134
+ typedef struct tagEASY_FRAME_INFO
132
135
{
133
136
unsigned int codec ; /* 音视频格式 */
134
137
@@ -147,9 +150,26 @@ typedef struct
147
150
unsigned int length ; /* 音视频帧大小 */
148
151
unsigned int timestamp_usec ; /* 时间戳,微妙 */
149
152
unsigned int timestamp_sec ; /* 时间戳 秒 */
150
-
153
+
151
154
float bitrate ; /* 比特率 */
152
155
float losspacket ; /* 丢包率 */
153
- }RTSP_FRAME_INFO ;
156
+ }EASY_FRAME_INFO ;
154
157
155
- #endif
158
+ typedef struct tagMEDIA_INFO
159
+ {
160
+ unsigned int video_codec ; /* 音视频格式 */
161
+ unsigned char fps ; /* 视频帧率 */
162
+ unsigned short width ; /* 视频宽 */
163
+ unsigned short height ; /* 视频高 */
164
+
165
+ unsigned int audio_codec ; /* 音视频格式 */
166
+ unsigned int sample_rate ; /* 音频采样率 */
167
+ unsigned int channels ; /* 音频声道数 */
168
+ unsigned int bits_per_sample ; /* 音频采样精度 */
169
+
170
+ unsigned int reserved1 ; /* 保留参数1 */
171
+ unsigned int reserved2 ; /* 保留参数2 */
172
+
173
+ }MEDIA_INFO ;
174
+
175
+ #endif
0 commit comments