#ifndef _AVPROG_FEEDBACK_H_ #define _AVPROG_FEEDBACK_H_ #ifndef __cplusplus #error("This file should be compiled with C++ compiler") #endif #include "AV_types.h" #define SOFT_LOAD_FXQD 0x00 #define SOFT_LOAD_FXHD 0x01 #define META_FLAG_DUMP_ORIGION 0x01 //记录节目原始文件 #define META_FLAG_DUMP_DECODED 0x02 //记录节目解码后的文件 #define META_FLAG_DUMP_SEND_MSG 0x04 //发送监测建议 // Data_flag defination //meta info's option type #define META_OPT_TYPE_HTTP_CNT 0x51 #define META_OPT_LAYER_ADDR 0x52 //opt value is const struct layer_addr* addr #define META_OPT_TYPE_URL 0x61 #define META_OPT_ETAG 0x62 #define META_OPT_LAST_MODIFY 0x63 #define META_OPT_REFERER 0x64 #define META_OPT_USER_AGENT 0x65 #define META_OPT_C2S_CONT_TYPE 0x66 #define META_OPT_S2C_CONT_TYPE 0x67 #define META_OPT_SINGLE_KEY 0x68 #define META_OPT_OPEN_OFFSET 0x69 #define META_OPT_SERVER 0x6A #define META_OPT_CONT_TYPE 0x6B #define META_OPT_SERVICE_ID 0x71 /*碎片化使用*/ #define META_OPT_C2S_CONT 0x72 #define META_OPT_S2C_CONT 0x73 #define META_OPT_CONT_DISPOSITION 0x74 #define META_OPT_SIP_DIADATA_ID 0x81 #define META_OPT_SIP_DATA_DIR 0x82 #define META_OPT_SIP_RATE_INFO 0x83 typedef struct _dropRdate { unsigned long long meta_num; unsigned long long meta_resend_num; float meta_resend_rate; unsigned long long meta_active_prog; unsigned long long pkt_num; unsigned long long pkt_resend_num; float pkt_resend_rate; unsigned long long pkt_ack; unsigned long long pkt_preack; unsigned long long drop_pkts; float drop_rate; unsigned long long drop_mem; unsigned long long forzened; unsigned long long avsend; unsigned long long av_dup; }dropRdate_t; struct media_info_t { PROG_ID_t pid; UINT64 prog_len; UCHAR pad[1]; UCHAR protocol; //define at AV_types.h's AV_PROTOCOL_** UCHAR media_type; //define at AV_character.h UCHAR check_flag; //set META_FLAG_DUMP flag if monitor hit INT service; //directly use struct AV_rule_t 's service }; //Set service if service action is AV_ACTION_MONIT int AV_send_media_info(const struct media_info_t* media_info,const struct opt_unit_t* opt,int opt_num,int thread_seq); int AV_send_data(PROG_ID_t pid,unsigned long long offset, const char * data, unsigned int datalen, UCHAR protocol ,int thread_seq,const struct layer_addr* addr); #define AV_DST_NORMAL 0 #define AV_DST_IMAGE_ANALYZER 1 #define AV_DST_FRAGMENT_QUERY 2 #define AV_DST_APP 3 #define AV_DST_VOIP 4 //AV_send_media_info_to specify the destination type by parameter DST,which is defined like AV_DST_** int AV_send_media_info_to(char DST,const struct media_info_t* media_info,const struct opt_unit_t* opt,int opt_num,int thread_seq); int AV_send_data_to(char DST,PROG_ID_t pid,unsigned long long offset, const char * data, unsigned int datalen, UCHAR protocol ,int thread_seq, const struct layer_addr* addr); int SendLiveCheckMsg();//ONLY used by AV master controller #endif