199 lines
6.1 KiB
C
199 lines
6.1 KiB
C
|
|
#ifndef _AV_SENDBACK_H
|
|||
|
|
#define _AV_SENDBACK_H
|
|||
|
|
|
|||
|
|
/*ħ<><C4A7>*/
|
|||
|
|
#define AV_MAGIC_VALUE 0x8739
|
|||
|
|
|
|||
|
|
/*<2A><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>*/
|
|||
|
|
#define AV_TYPE_META 0x01
|
|||
|
|
#define AV_TYPE_DATA 0x02
|
|||
|
|
#define AV_TYPE_RESULT 0x11
|
|||
|
|
|
|||
|
|
/*Э<><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
|
#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
|
|||
|
|
|
|||
|
|
/*ý<><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
|
#define MEDIA_TYPE_UNKNOWN 0x00
|
|||
|
|
/*ý<><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><>Ƶ֧<C6B5>ֵ<EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
|
#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
|
|||
|
|
/*ý<><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><>Ƶ֧<C6B5>ֵ<EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
|
#define MEDIA_TYPE_AUDIO 0x20
|
|||
|
|
#define MEDIA_TYPE_MP3 0x21
|
|||
|
|
/*ý<><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:ͼƬ֧<C6AC>ֵ<EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
|
#define MEDIA_TYPE_IMAGE 0x30
|
|||
|
|
#define MEDIA_TYPE_JPG 0x31
|
|||
|
|
#define MEDIA_TYPE_BMP 0x32
|
|||
|
|
#define MEDIA_TYPE_GIF 0x33
|
|||
|
|
/*ý<><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:ʵʱ<CAB5><CAB1>ý<EFBFBD><C3BD>֧<EFBFBD>ֵ<EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
|
#define MEDIA_TYPE_MMS 0x40
|
|||
|
|
#define MEDIA_TYPE_RTSP_RDT 0x41
|
|||
|
|
#define MEDIA_TYPE_RTSP_RTP 0x42
|
|||
|
|
/*ý<><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ֧<C6B5>ֵ<EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
|
#define MEDIA_TYPE_OSMF 0x50
|
|||
|
|
#define MEDIA_TYPE_HLS 0x51
|
|||
|
|
/*ý<><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:VOIP֧<50>ֵ<EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3>༴<EFBFBD><E0BCB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
|
#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
|
|||
|
|
|
|||
|
|
/*ָ<><D6B8><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
|
/*ָ<><D6B8><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-VOIPѡ<50><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
|
#define OPT_SIP_SEND_RATE_INFO 0x71 /*VOIP<49><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ*/
|
|||
|
|
|
|||
|
|
/*==================================<3D><>Ϣͷ<CFA2><CDB7>==============================================*/
|
|||
|
|
typedef struct msg_head_s
|
|||
|
|
{
|
|||
|
|
uint16_t magic;
|
|||
|
|
uint16_t m_type;
|
|||
|
|
uint32_t c_len; //<2F><>Ϣ<EFBFBD>峤<EFBFBD><E5B3A4>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣͷ<CFA2><CDB7>)
|
|||
|
|
}msg_head_t;
|
|||
|
|
|
|||
|
|
/*==================================ָ<><D6B8><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>==============================================*/
|
|||
|
|
typedef struct msg_meta_s
|
|||
|
|
{
|
|||
|
|
char pid[8]; //ID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD>ȡ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint64_t proglen; //<2F><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڳ<D6BD><DAB3>ȣ<EFBFBD>Ϊ0<CEAA><30>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>δ֪
|
|||
|
|
uint32_t capip; // <20><>ȡ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>IP
|
|||
|
|
uint8_t protocol; // <20><><EFBFBD><EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8_t mediatype; // <20><><EFBFBD>ܵ<EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8_t data_flag; // <20><><EFBFBD>ݱ<EFBFBD>־
|
|||
|
|
uint8_t opt_num; // ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
}msg_meta_t;
|
|||
|
|
|
|||
|
|
/*<2A>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>涨<EFBFBD><E6B6A8><EFBFBD><EFBFBD>
|
|||
|
|
struct opt_unit_t
|
|||
|
|
{
|
|||
|
|
uint32_t opt_len; //<2F><><EFBFBD><EFBFBD>opt_len<65><6E>opt_type<70><65>opt_value
|
|||
|
|
uint8_t opt_type;
|
|||
|
|
char* opt_value;
|
|||
|
|
};
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
/*==================================<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>==============================================*/
|
|||
|
|
typedef struct av_data_s
|
|||
|
|
{
|
|||
|
|
char pid[8]; // <20><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD>ȡ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint16_t frag_seq; // <20><><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>Ƭ:Ƭ<><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VOIP:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int64_t offset:48; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD>ƫ<EFBFBD><C6AB>λ<EFBFBD><CEBB>
|
|||
|
|
//char* avs; // <20><>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
}av_data_t;
|
|||
|
|
|
|||
|
|
/*VOIP<49><50>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ*/
|
|||
|
|
struct voip_header_t
|
|||
|
|
{
|
|||
|
|
uint32_t time_stamp; // <20><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint32_t sequence;
|
|||
|
|
//char* data; //VOIP<49><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
/*RTSP/RTMP<4D><50>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ*/
|
|||
|
|
struct sdp_data_packet
|
|||
|
|
{
|
|||
|
|
char sdp[8]; // <20><>Ϊ"RTSP_SDP"
|
|||
|
|
uint32_t sdp_len; // Ϊsdp<64><70><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
|||
|
|
//char * data; // sdp<64><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
/*RTSP sdp<64><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ*/
|
|||
|
|
struct rtsp_data_packet
|
|||
|
|
{
|
|||
|
|
uint32_t flag; // RTSP<53><50><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ͷ<EFBFBD><CDB7>־ 0x46464646 "FFFF"
|
|||
|
|
uint8_t type; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>1 for RDT<44><54>2 for RTP
|
|||
|
|
uint8_t channel; // <20><><EFBFBD>ݵ<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>
|
|||
|
|
uint16_t len; // <20><><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
|||
|
|
//char * data; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
/*RTMP sdp<64><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ*/
|
|||
|
|
struct rtmp_data_packet
|
|||
|
|
{
|
|||
|
|
uint32_t flag; // RTMP<4D><50><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ͷ<EFBFBD><CDB7>־ 0x52544D50"RTMP"
|
|||
|
|
uint32_t av_type:8; // <20><><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>ͣ<EFBFBD>8 for Audio, 9 for Video
|
|||
|
|
uint32_t cs_id:24; // Chunk Stream ID
|
|||
|
|
uint32_t timestamp; // ʱ<><CAB1><EFBFBD><EFBFBD>
|
|||
|
|
uint32_t len; // <20><><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ֶγ<D6B6><CEB3>ȣ<EFBFBD>20<32>ֽ<EFBFBD>)
|
|||
|
|
uint32_t stream_id; // <20><>ID
|
|||
|
|
//char * data; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
/*MMS<4D><53>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ*/
|
|||
|
|
struct mms_data_packet
|
|||
|
|
{
|
|||
|
|
uint32_t frame_flag; // <20><>Ϊ0x46464646 "FFFF"
|
|||
|
|
uint32_t data_len; // Ϊ<><CEAA><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
|||
|
|
//char * data; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>H<EFBFBD><48><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD>D<EFBFBD><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
/*==================================<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>==================================================*/
|
|||
|
|
typedef struct msg_result_s
|
|||
|
|
{
|
|||
|
|
char pid[8]; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD>ȡ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int servicetype; // ҵ<><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint32_t cfgid; // <20><><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>ID<49><44>ֵΪ0<CEAA><30>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>δ֪<CEB4><D6AA><EFBFBD><EFBFBD>
|
|||
|
|
int8_t level; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷȣ<C5B6> [0, 100]
|
|||
|
|
uint8_t pad[7]; // Ԥ<><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0ֵ
|
|||
|
|
//char* logindex; // <20><><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>Ĵ洢·<E6B4A2><C2B7>URL<52><4C><EFBFBD><EFBFBD>"/0"<22><><EFBFBD><EFBFBD>
|
|||
|
|
}msg_result_t;
|
|||
|
|
|
|||
|
|
#endif
|