summaryrefslogtreecommitdiff
path: root/src/AV_sendback.h
blob: 151c1a8854286307e1b3b413c22bc97a6257e321 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
#ifndef _AV_SENDBACK_H
#define _AV_SENDBACK_H

/*ħ��*/
#define AV_MAGIC_VALUE				0x8739	

/*��Ϣ����*/
#define AV_TYPE_META 				0x01
#define	AV_TYPE_DATA				0x02
#define AV_TYPE_RESULT 				0x11

/*������*/
#define	PROTOCOL_DEFAULT			0x00
#define	PROTOCOL_HTTP				0x01
#define	PROTOCOL_SMTP				0x02
#define	PROTOCOL_POP3				0x03
#define	PROTOCOL_IMAP				0x04
#define	PROTOCOL_FTP				0x05
#define	PROTOCOL_HTTP_PIC			0x06    
#define	PROTOCOL_RTSP_RDT			0x07
#define	PROTOCOL_RTSP_RTP			0x08
#define	PROTOCOL_MMS				0x09
#define	PROTOCOL_RTMP				0x0A
#define	PROTOCOL_SIP				0x0B
 
/*ý������*/
#define MEDIA_TYPE_UNKNOWN    			0x00
/*ý������:��Ƶ֧�ֵ�ý������*/
#define MEDIA_TYPE_VIDEO				0x01
#define MEDIA_TYPE_WMV					0x02		
#define MEDIA_TYPE_MPG					0x03		
#define MEDIA_TYPE_FLV					0x04	
#define MEDIA_TYPE_RMFF					0x05
#define MEDIA_TYPE_AVI					0x06
#define MEDIA_TYPE_SWF					0x07
#define MEDIA_TYPE_MPG4					0x08
#define MEDIA_TYPE_AIFF					0x09
#define MEDIA_TYPE_OGG					0x0A
#define MEDIA_TYPE_DRC					0x0B
#define MEDIA_TYPE_DIRECTSHOW			0x0C
#define MEDIA_TYPE_FLIC					0x0E
#define MEDIA_TYPE_INDEO				0x0F
#define MEDIA_TYPE_MKV					0x10
/*ý������:��Ƶ֧�ֵ�ý������*/
#define MEDIA_TYPE_AUDIO				0x20
#define MEDIA_TYPE_MP3					0x21
/*ý������:ͼƬ֧�ֵ�ý������*/
#define MEDIA_TYPE_IMAGE				0x30
#define MEDIA_TYPE_JPG					0x31
#define MEDIA_TYPE_BMP					0x32
#define MEDIA_TYPE_GIF					0x33
/*ý������:ʵʱ��ý��֧�ֵ�ý������*/
#define MEDIA_TYPE_MMS   				0x40
#define MEDIA_TYPE_RTSP_RDT   			0x41
#define MEDIA_TYPE_RTSP_RTP  			0x42
/*ý������:��Ƭ������Ƶ֧�ֵ�ý������*/
#define MEDIA_TYPE_OSMF   				0x50
#define MEDIA_TYPE_HLS   				0x51
/*ý������:VOIP֧�ֵ�ý�����ͣ��༴��������*/
#define MEDIA_TYPE_AUDIO_UNKNOWN		0x60
#define MEDIA_TYPE_AUDIO_G711_ULAW		0x61
#define MEDIA_TYPE_AUDIO_G711_ALAW		0x62
#define MEDIA_TYPE_AUDIO_G722			0x63
#define MEDIA_TYPE_AUDIO_G723			0x64
#define MEDIA_TYPE_AUDIO_G726_40		0x65
#define MEDIA_TYPE_AUDIO_G726_32		0x66
#define MEDIA_TYPE_AUDIO_G726_24		0x67
#define MEDIA_TYPE_AUDIO_G726_16		0x68
#define MEDIA_TYPE_AUDIO_AAL2_G726_40	0x69
#define MEDIA_TYPE_AUDIO_AAL2_G726_32	0x6A
#define MEDIA_TYPE_AUDIO_AAL2_G726_24	0x6B
#define MEDIA_TYPE_AUDIO_AAL2_G726_16	0x6C
#define MEDIA_TYPE_AUDIO_G728			0x6D
#define MEDIA_TYPE_AUDIO_G729D			0x6E
#define MEDIA_TYPE_AUDIO_G729E			0x6F
#define MEDIA_TYPE_AUDIO_GSM			0x70
#define MEDIA_TYPE_AUDIO_GSM_EFR		0x71
#define MEDIA_TYPE_AUDIO_ILBC			0x72
#define MEDIA_TYPE_AUDIO_AMR			0x73
#define MEDIA_TYPE_AUDIO_AMR_WB			0x74
#define MEDIA_TYPE_AUDIO_SILK			0x75
#define MEDIA_TYPE_AUDIO_LPC			0x76
#define MEDIA_TYPE_AUDIO_LPC1016		0x77
#define MEDIA_TYPE_AUDIO_LPC1015		0x78
#define MEDIA_TYPE_AUDIO_L16			0x79
#define MEDIA_TYPE_AUDIO_SPEEX			0x7A
#define MEDIA_TYPE_AUDIO_L8				0x7B
#define MEDIA_TYPE_AUDIO_MPA			0x7C
#define MEDIA_TYPE_AUDIO_DVI4			0x7D
#define MEDIA_TYPE_AUDIO_VDVI			0x7E
#define MEDIA_TYPE_AUDIO_CN				0x7F
#define MEDIA_TYPE_AUDIO_RED			0x80
#define MEDIA_TYPE_AUDIO_QCELP			0x81
#define MEDIA_TYPE_AUDIO_EVRC0			0x82
#define MEDIA_TYPE_AUDIO_EVRCB0			0x83
#define MEDIA_TYPE_AUDIO_G729           0x84
#define MEDIA_TYPE_AUDIO_VIVOX          0x85


/*ָ����Ϣ��ѡ������*/
/*ָ����Ϣ��ѡ������-VOIPѡ������*/
#define OPT_SIP_SEND_RATE_INFO 			0x71  /*VOIP���������Ϣ*/

/*==================================��Ϣͷ��==============================================*/
typedef struct msg_head_s 
{
	uint16_t  			magic; 
	uint16_t 			m_type;	 	
	uint32_t 			c_len; 	       //��Ϣ�峤��(��������Ϣͷ��)
}msg_head_t;

/*==================================ָ����Ϣ��==============================================*/
typedef struct msg_meta_s
{
	char				pid[8];			//ID�������ݻ�ȡ�ڵ�����
	uint64_t			proglen;		//���ļ������ֽڳ��ȣ�Ϊ0��ʾ����δ֪
	uint32_t			capip;			// ��ȡ�ڵ��IP
	uint8_t				protocol;		// ����������
	uint8_t				mediatype;		// ���ܵ�ý������
	uint8_t				data_flag;	    // ���ݱ�־
	uint8_t				opt_num;    	// ѡ����� 
}msg_meta_t;

/*�Ѿ��������ļ����涨���
struct opt_unit_t
{
	uint32_t 			opt_len;        //����opt_len��opt_type��opt_value
	uint8_t				opt_type; 
	char*				opt_value; 
};
*/

/*==================================��������Ϣ��==============================================*/
typedef struct av_data_s
{
	char				pid[8];			// ���ļ���ID�������ݻ�ȡ�ڵ�����
	uint16_t			frag_seq;		// ����Ƶ��Ƭ:Ƭ�����   VOIP:������
	int64_t				offset:48;		// �����������������ļ��е�ƫ��λ��
	//char*				avs;			// ��ý��������
}av_data_t;

/*VOIP��ý�������ݸ�ʽ*/
struct voip_header_t
{
	uint32_t   			time_stamp; 	 // ����֡��ʱ���, ������
	uint32_t   			sequence;  
	//char*	 			data;       	 //VOIP����������
}; 

/*RTSP/RTMP��ý�������ݸ�ʽ*/
struct sdp_data_packet
{
	char 				sdp[8];			 // ��Ϊ"RTSP_SDP"
	uint32_t 			sdp_len;	     // Ϊsdp�����ݳ���
	//char * 			data;			 // sdp��������
};

/*RTSP sdp�������ݸ�ʽ*/
struct rtsp_data_packet
{
	uint32_t 			flag;			// RTSP����ͷ��ͷ��־  0x46464646 "FFFF"
	uint8_t 			type;			// �������ͣ�1 for RDT��2 for RTP
	uint8_t 			channel;		// ���ݵ�ͨ����
	uint16_t 			len;			// ���ݳ���
	//char * 			data;			// ��������
};

/*RTMP sdp�������ݸ�ʽ*/
struct rtmp_data_packet
{
	uint32_t  			flag;			// RTMP����ͷ��ͷ��־  0x52544D50"RTMP"
	uint32_t  			av_type:8;	   	// ����Ƶ���ͣ�8 for Audio, 9 for Video
	uint32_t  			cs_id:24; 	   	// Chunk Stream ID
	uint32_t 			timestamp;	   	// ʱ���
	uint32_t 			len;			// �����ݳ���(������ͷ���ֶγ��ȣ�20�ֽ�)
	uint32_t  			stream_id;	   	// ��ID
	//char * 			data;		    // ��������
};

/*MMS��ý�������ݸ�ʽ*/
struct mms_data_packet
{
	uint32_t 	 		frame_flag;		// ��Ϊ0x46464646 "FFFF"
	uint32_t 	 	 	data_len;		// Ϊ���ݳ���
	//char * 			data;			// ��������H���������ݻ���D����������
};

/*==================================�����Ϣ��==================================================*/
typedef struct msg_result_s
{
	char				pid[8];			// �����ļ���ID�������ݻ�ȡ�ڵ�����
	int					servicetype;	// ҵ������	
	uint32_t			cfgid;			// ���е�����ID��ֵΪ0��ʾ����δ֪����
	int8_t				level;			// ��������Ŷȣ� [0, 100]
	uint8_t				pad[7];			// Ԥ����������0ֵ
	//char*  			logindex;		// �����ֳ������ļ��Ĵ洢·��URL����"/0"����
}msg_result_t;

#endif