summaryrefslogtreecommitdiff
path: root/src/frag_reassembly.c
diff options
context:
space:
mode:
authordumeijie <[email protected]>2022-09-07 19:43:28 +0800
committerdumeijie <[email protected]>2022-09-07 19:43:28 +0800
commit779a3aba55d0dcd22dded18c7869b5ee4e72a602 (patch)
treee4bd40c3b2e01ae2f6e43d5f1e70eef09dc1ea88 /src/frag_reassembly.c
parent674ea3c470538801a51efa8a6131041d3d8b3678 (diff)
🦄 refactor(for voip):voip-dev
Diffstat (limited to 'src/frag_reassembly.c')
-rw-r--r--src/frag_reassembly.c212
1 files changed, 60 insertions, 152 deletions
diff --git a/src/frag_reassembly.c b/src/frag_reassembly.c
index 1dffda1..15f1e25 100644
--- a/src/frag_reassembly.c
+++ b/src/frag_reassembly.c
@@ -300,11 +300,6 @@ void free_media(void* data)
media_json_report(mdi, TOPIC_EVENT_EXPIRE);
}
- /*av_dup report upload*/
- if(g_frag_cfg.av_dedup_switch && MEDIA_SERVICE_TYPE_AV==mdi->media_service_type)
- {
- media_dedup_report(mdi);
- }
if(mdi->media_service_type==MEDIA_SERVICE_TYPE_SIP)
{
send_sip_log_when_expire(mdi);
@@ -352,7 +347,7 @@ void free_media(void* data)
free(mdi->monitor_path);
}
- /*����������*/
+ /*����������*/
struct queue_item* first_item = TAILQ_FIRST(&mdi->query_wait_lq);
frag_in_t* frg = NULL;
while(first_item != NULL)
@@ -382,7 +377,7 @@ void free_media(void* data)
void set_sip_query_task(frag_unit_t* frg_unit, media_t* mdi)
{
- /*voip SIP����*/
+ /*voip SIP����*/
frag_write_to_log(SEND_VOIP_QUERY_1, frg_unit->pid, frg_unit, NULL, 0);
atomic_inc(&frag_rssb.stat_info[RSSB_INDEX_ONCE_QUERY_SEND]);
if(sip_index_query(frg_unit, frg_unit->thread_seq))
@@ -400,7 +395,7 @@ void set_sip_query_task(frag_unit_t* frg_unit, media_t* mdi)
{
if(mdi->re_offset==0)
{
- /*���ö�ʱ����:������URL��ʱ����Ҫ���еڶ��ε���������*/
+ /*���ö�ʱ����:������URL��ʱ����Ҫ���еڶ��ε���������*/
struct timer_context_t *context = (struct timer_context_t *)calloc(1, sizeof(struct timer_context_t));
context->mid = mdi->mid;
MESA_timer_add(g_frag_run.index_query_timer[mdi->thread_seq],
@@ -425,7 +420,7 @@ void proc_media_opt(frag_unit_t* frg_unit, media_t* mdi)
}
void save_media_opt(frag_unit_t* frg_unit, media_t* mdi)
{
- /*���ÿһ��ѡ��*/
+ /*���ÿһ��ѡ��*/
for(int i =0;i<MEDIA_OPT_MAXNUN;i++)
{
if(mdi->opt_index<OPT_MAXNUN && NULL!=frg_unit->opt[i])
@@ -443,37 +438,10 @@ void save_media_opt(frag_unit_t* frg_unit, media_t* mdi)
mdi->opt_index++;
}
- /*���ö��β�ѯ�Ķ�ʱ����*/
- if(g_frag_cfg.av_dedup_switch && MEDIA_SERVICE_TYPE_AV==mdi->media_service_type)
- {
- if(NULL!=mdi->opt[MEDIA_OPT_URL][mdi->url_opt_index])
- {
- /*����URL���ж�Դ��ѯ*/
- if(!FLAG_TEST(mdi->td_query,TD_QUERY_TYPE_YES))
- {
- FLAG_SET(mdi->td_query,TD_QUERY_TYPE_MULTISRC);
- }
- }
- /*����URLҲ�����˲�ѯ��������Ϊ��ͳ��*/
- if(NULL==mdi->index_query_timer_idx)
- {
- /*���ö�ʱ����:������URL��ʱ����Ҫ���еڶ��ε���������*/
- struct timer_context_t *context = (struct timer_context_t *)calloc(1, sizeof(struct timer_context_t));
- context->mid = mdi->mid;
- MESA_timer_add(g_frag_run.index_query_timer[mdi->thread_seq],
- time(NULL),
- g_frag_cfg.index_query_timeout,
- index_query_timeout,
- context,
- index_query_timeout_free,
- &mdi->index_query_timer_idx);
- g_frag_run.index_query_timer_on[mdi->thread_seq] = 1;
- }
- }
}
-/*ʶ���Ŀ������ ��ͨ����Ƶ ��Ƭ��Ŀ VOIP*/
+/*ʶ���Ŀ������ ��ͨ����Ƶ ��Ƭ��Ŀ VOIP*/
void set_media_service_type(media_t* mdi)
{
if(FILE_OSMF==mdi->media_type||FILE_HLS==mdi->media_type)
@@ -526,19 +494,19 @@ long media_create_cb(void *data, const uint8_t *key, uint size, void *user_arg)
mdi->meta_flag = frg_unit->flag;
mdi->thread_seq = frg_unit->thread_seq;
- /*ȷ����Ŀ�Ƿ�����Ƭ����VOIP*/
+ /*ȷ����Ŀ�Ƿ�����Ƭ����VOIP*/
set_media_service_type(mdi);
- /*����ѡ��*/
+ /*����ѡ��*/
proc_media_opt(frg_unit, mdi);
- /*����sip��ѯ����*/
+ /*����sip��ѯ����*/
if(mdi->media_service_type==MEDIA_SERVICE_TYPE_SIP)
{
set_sip_query_task(frg_unit, mdi);
}
- /*����ý�����ͼ��*/
+ /*����ý�����ͼ��*/
if(0!=mdi->media_type)
{
set_special_media_service(mdi->media_type, mdi);
@@ -561,7 +529,7 @@ long media_create_cb(void *data, const uint8_t *key, uint size, void *user_arg)
mdi->ivi = IVI_create();
mdi->save_ivi = IVI_create();
- /*��Դ��ѯ�������*/
+ /*��Դ��ѯ�������*/
TAILQ_INIT(&mdi->query_wait_lq);
/*fuzzy*/
@@ -575,7 +543,7 @@ long media_create_cb(void *data, const uint8_t *key, uint size, void *user_arg)
}
else
{
- /*��������Ƶ��Ŀһ��ʱ������������ּ�⣬renew��Ŀ��*/
+ /*��������Ƶ��Ŀһ��ʱ������������ּ�⣬renew��Ŀ��*/
if(!g_frag_cfg.app_switch && frg_unit->ab_offset==0
&& ((MEDIA_SERVICE_TYPE_AV==mdi->media_service_type && mdi->renew_time < time(NULL))||mdi->hit_service==SERVICE_AUDIO_LANG))
{
@@ -584,27 +552,16 @@ long media_create_cb(void *data, const uint8_t *key, uint size, void *user_arg)
}
}
save_media_opt(frg_unit,mdi);
- /*av_dedup*/
- if(g_frag_cfg.av_dedup_switch
- && mdi->td_complete==0
- && g_frag_cfg.td_data_maxsize==0
- && MEDIA_SERVICE_TYPE_AV==mdi->media_service_type
- && NULL!=mdi->opt[MEDIA_OPT_URL][mdi->url_opt_index])
- {
- generate_td_meta(mdi);
- FLAG_SET(mdi->td_query,TD_QUERY_TYPE_DEDUP);
- caculate_md5(mdi->opt[MEDIA_OPT_TD_META][mdi->url_opt_index]->opt_value, mdi->opt[MEDIA_OPT_TD_META][mdi->url_opt_index]->opt_len, NULL, 0, mdi->td, TD_LEN);
- mdi->td_complete = 1;
- }
+
- /*��Ƭȥ��*/
+ /*��Ƭȥ��*/
if(-1==media_frag_removal(mdi, frg_unit))
{
return -1;
}
frag_write_to_log(SET_OFFSET, *(uint64_t*)key, frg_unit, NULL, 0);
- /*PID�洢*/
+ /*PID�洢*/
mdi->frag_unit_cnt++;
if(NULL==mdi->pid)
{
@@ -624,7 +581,7 @@ long media_create_cb(void *data, const uint8_t *key, uint size, void *user_arg)
mdi->pid_idx_last = (mdi->pid_idx_last+1)%PID_MAXNUM;
}
- /*CAP_IP �ش����ݵ�ǰ�˻���IP*/
+ /*CAP_IP �ش����ݵ�ǰ�˻���IP*/
if(frg_unit->qd_info_from_cpz_idx_last==0)
{
if(save_qd_info(mdi->qd_info, QD_MAXNUM, &mdi->qdinfo_idx_last,frg_unit->capIP, frg_unit->mid))
@@ -633,7 +590,7 @@ long media_create_cb(void *data, const uint8_t *key, uint size, void *user_arg)
create_media_write_to_log(mdi, MEDIA_FROM_CAPIP, pbuf);
}
}
- /*��Դ�����£�������ƿװ��ǰ����Ϣ�����ڻؽ���*/
+ /*��Դ�����£�������ƿװ��ǰ����Ϣ�����ڻؽ���*/
for(int i=0;i<frg_unit->qd_info_from_cpz_idx_last;i++)
{
inet_ntop(AF_INET, &frg_unit->capIP, pbuf, buf_len);
@@ -641,10 +598,10 @@ long media_create_cb(void *data, const uint8_t *key, uint size, void *user_arg)
save_qd_info(mdi->qd_info_from_cpz, QD_MAXNUM, &mdi->qdinfo_from_cpz_idx_last, frg_unit->qd_info_from_cpz[i].cap_ip, frg_unit->qd_info_from_cpz[i].mid);
}
- /*monitor because of ��Ƶ����ȫ��Ŀ���*/
- /*����Ƶ���ּ��������������ƴװ����������־���е���Ƶԭʼ�ļ���¼*/
+ /*monitor because of ��Ƶ����ȫ��Ŀ���*/
+ /*����Ƶ���ּ��������������ƴװ����������־���е���Ƶԭʼ�ļ���¼*/
audio_lang_monitor_service(frg_unit->src_ip, mdi);
- /*send ��⽨��*/
+ /*send ��⽨��*/
#if K_PROJECT
if(frg_unit->hitservice >= 0x180 && frg_unit->hitservice < 0x200)
{
@@ -659,7 +616,7 @@ long media_create_cb(void *data, const uint8_t *key, uint size, void *user_arg)
}
#endif
- /*����ȫ��⣬���Dz���ǰ�˷�����*/
+ /*����ȫ��⣬���Dz���ǰ�˷�����*/
if(g_frag_cfg.all_hit_monitor_switch==ALL_HIT_MONITOR_FULLFILE && MEDIA_SERVICE_TYPE_AV==mdi->media_service_type)
{
FLAG_SET(mdi->flag, PROG_FLAG_DUMP);
@@ -678,12 +635,8 @@ int media_create(frag_unit_t* frg_unit)
{
long rec_cb = 0;
- /*��鶨ʱ��*/
- if(g_frag_cfg.av_dedup_switch && g_frag_run.multisrc_timer_on[frg_unit->thread_seq] && g_frag_run.multisrc_timer[frg_unit->thread_seq])
- {
- MESA_timer_check(g_frag_run.multisrc_timer[frg_unit->thread_seq], time(NULL), g_frag_cfg.multisrc_timer_cb_maxtime);
- }
- /*��鶨ʱ��*/
+
+ /*��鶨ʱ��*/
if(g_frag_run.index_query_timer_on[frg_unit->thread_seq] && g_frag_run.index_query_timer[frg_unit->thread_seq])
{
MESA_timer_check(g_frag_run.index_query_timer[frg_unit->thread_seq], time(NULL), g_frag_cfg.index_query_timer_cb_maxtime);
@@ -771,7 +724,7 @@ int add_media_info(msg_metainfo_t* minfo, char* opt, uint32_t src_ip, int thread
media_info.src_ip = src_ip;
media_info.thread_seq = thread_seq;
- /*����Ƶ��Ƭ��*/
+ /*����Ƶ��Ƭ��*/
if(is_frag(minfo->media_type))
{
if(minfo->media_type==FILE_MAYBE_FRAG)
@@ -781,7 +734,7 @@ int add_media_info(msg_metainfo_t* minfo, char* opt, uint32_t src_ip, int thread
MESA_htable_search_cb(frag_rssb.converge_hash, (const uint8_t *)&media_info.pid, sizeof(media_info.pid),
converge_mediainfo_search_cb, (void*)&media_info, &rec_cb);
}
- /*VOIP��*/
+ /*VOIP��*/
else if(minfo->protocol==AV_PROTOCOL_SIP)
{
if(!(g_frag_cfg.voip_filter_switch && minfo->media_type==VOIP_UNKNOWN_MEDIA_TYPE))
@@ -794,32 +747,13 @@ int add_media_info(msg_metainfo_t* minfo, char* opt, uint32_t src_ip, int thread
frg_unit = NULL;
}
}
- /*���߳�����*/
+ /*���߳�����*/
else
{
frg_unit = (frag_unit_t*)calloc(1,sizeof(frag_unit_t));
set_frag_unit(&media_info, frg_unit);
- /*ǰ���ʼ�û��addr�����ػ�δ���*/
- if(g_frag_cfg.av_dedup_switch && frg_unit->opt[MEDIA_OPT_ADDR]==NULL)
- {
- free_frag_unit(frg_unit);
- return 0;
- }
- /*��������Դ��ѯ*/
- if(g_frag_cfg.av_dedup_switch && NULL==frg_unit->opt[MEDIA_OPT_URL] && NULL!=frg_unit->opt[MEDIA_OPT_SINGLE_KEY])
- {
- frag_write_to_log(SEND_AV_QUERY_1, frg_unit->pid, frg_unit, NULL, 0);
- atomic_inc(&frag_rssb.stat_info[RSSB_AV_ONCE_QUERY_SEND]);
- if(av_query(frg_unit))
- {
- frag_write_to_log(RECV_AV_ACK_1, frg_unit->pid, frg_unit, NULL, 0);
- atomic_inc(&frag_rssb.stat_info[RSSB_AV_ONCE_QUERY_RECV]);
- }
- else
- {
- frag_write_to_log(AV_QUERY_FAIL_1, frg_unit->pid, frg_unit, NULL, 0);
- }
- }
+ /*ǰ���ʼ�û��addr�����ػ�δ���*/
+
frg_unit->mid = frg_unit->pid;
media_create(frg_unit);
free_frag_unit(frg_unit);
@@ -847,7 +781,7 @@ void trace_store_file(uint64_t mid, uint8_t media_type, uint8_t proto, uint16_t
return;
}
- /*����media_type�����ļ���׺*/
+ /*����media_type�����ļ���׺*/
suffix = gen_filesuffix_by_mediatype(suffix, media_type, proto);
mkdir_r(g_frag_cfg.store_filepath);
@@ -885,30 +819,23 @@ void tag_frag_in_media(media_t* mdi, frag_in_t* frg)
{
mdi->fuzzy_acc_len += SFH_feed(mdi->fuzzy, frg->data, frg->datalen, frg->offset_in);
}
- if(g_frag_cfg.av_dedup_switch && !FLAG_TEST(mdi->td_query,TD_QUERY_TYPE_YES) && MEDIA_SERVICE_TYPE_AV==mdi->media_service_type)
- {
- if(set_td_data(mdi, frg))
- {
- FLAG_SET(mdi->td_query,TD_QUERY_TYPE_DEDUP);
- }
- }
- /*�ڵ�һ�����ݰ�֮ǰ��Ҫ���ͽ�ĿԪ��Ϣ*/
+ /*�ڵ�һ�����ݰ�֮ǰ��Ҫ���ͽ�ĿԪ��Ϣ*/
if(!FLAG_TEST(mdi->flag, PROG_SEND_META))
{
FLAG_SET(frg->frag_flag, FRAG_FLAG_SEND_META);
FLAG_SET(mdi->flag, PROG_SEND_META);
}
- /*�����Ƿ���Ҫ���͸���ϵͳ*/
+ /*�����Ƿ���Ҫ���͸���ϵͳ*/
if(FLAG_TEST(mdi->flag, PROG_FLAG_EXCP))
{
FLAG_SET(frg->frag_flag, FRAG_FLAG_WINS);
}
- /*�����Ƿ��Դ�����͸�������ƿװ*/
+ /*�����Ƿ��Դ�����͸�������ƿװ*/
if(FLAG_TEST(mdi->td_query, TD_QUERY_RES_MULTISRC))
{
FLAG_SET(frg->frag_flag, FRAG_FLAG_MULTISRC);
frg->multisrc_bizmanip = mdi->multisrc_bizmanip;
- /*��Դ��mid�Ѿ����޸�*/
+ /*��Դ��mid�Ѿ����޸�*/
frg->new_mid = mdi->mid_after_multisrc;
}
if(g_frag_cfg.app_switch)
@@ -946,7 +873,7 @@ int frag_add_tailq(media_t* mdi, frag_in_t* frg, int thread_seq)
return 0;
}
-/*���ض�Դ�ȴ�����,����ͬʱ����ش������Բ���free*/
+/*���ض�Դ�ȴ�����,����ͬʱ����ش������Բ���free*/
int frag_add_query_wait_lq(media_t* mdi, frag_ivi_info_t* frag_ivi_info, uint32_t frag_stat)
{
frag_in_t* frg = frag_ivi_info->frg;
@@ -980,17 +907,17 @@ long media_preproc_cb(void *data, const uint8_t *key, uint size, void *user_arg)
return -1;
}
- /*��Ŀ�յ������ݳ���ͳ��*/
+ /*��Ŀ�յ������ݳ���ͳ��*/
mdi->pkt_in++;
mdi->byte_in += frg->datalen;
- /*���м�����ã�������ȥ��֮ǰд�ļ�*/
+ /*���м�����ã�������ȥ��֮ǰд�ļ�*/
if(g_frag_cfg.monitor_file_switch && FLAG_TEST(mdi->flag, PROG_FLAG_DUMP))
{
monitor_service_dump_file(frg, mdi);
}
- /*�����Ŀ�ظ�������Ҫ����*/
+ /*�����Ŀ�ظ�������Ҫ����*/
if(FLAG_TEST(mdi->td_query, TD_QUERY_RES_DEDUP) && !g_frag_cfg.dedup_invalid)
{
frag_ivi_info->td_query = mdi->td_query;
@@ -1013,7 +940,7 @@ long media_preproc_cb(void *data, const uint8_t *key, uint size, void *user_arg)
/*record maxoffset*/
//mdi->maxoffset = MAX(frg->offset, mdi->maxoffset);
- /*IVI ȥ��*/
+ /*IVI ȥ��*/
if(NULL!=frg)
{
frag_stat = media_removal(mdi, frg_unit, frg, frag_ivi_info);
@@ -1057,7 +984,7 @@ long media_preproc_cb(void *data, const uint8_t *key, uint size, void *user_arg)
/*record maxoffset*/
mdi->maxoffset = MAX(frg->offset, mdi->maxoffset);
- /*���Թ���:�洢��Ч�ļ�dmj*/
+ /*���Թ���:�洢��Ч�ļ�dmj*/
if(g_frag_cfg.save_media)
{
if(g_frag_cfg.cpz_type == CPZ_VOIP)
@@ -1080,17 +1007,6 @@ long media_preproc_cb(void *data, const uint8_t *key, uint size, void *user_arg)
}
}
- /*��Ŀ���ض�Դ��ѯ֮ǰ������׼��*/
- if(g_frag_cfg.av_dedup_switch && MEDIA_SERVICE_TYPE_AV==mdi->media_service_type)
- {
- proc_media_multisrc(mdi, 0);
- if(!FLAG_TEST(mdi->td_query, TD_QUERY_ACK_MULTISRC))
- {
- /*��Ϊ��Դ��Ҫ���ݻ��棬ͬʱ��������˷���*/
- frag_add_query_wait_lq(mdi, frag_ivi_info, frag_stat);
- }
- frag_ivi_info->td_query = mdi->td_query;
- }
return (long)frag_stat;
}
@@ -1098,14 +1014,6 @@ int media_preproc(frag_ivi_info_t* frag_ivi_info)
{
long rec_cb = -1;
frag_in_t* frg = frag_ivi_info->frg;
-
- /*���ԣ�ʹ�ü�鶨ʱ����ʱ��̭*/
- /*
- if(g_frag_cfg.av_dedup_switch && g_frag_run.multisrc_timer[frag_ivi_info->thread_seq])
- {
- MESA_timer_check(g_frag_run.multisrc_timer[frag_ivi_info->thread_seq], time(NULL), g_frag_cfg.multisrc_timer_cb_maxtime);
- }
- */
if(0!=frg->mid)
{
@@ -1115,7 +1023,7 @@ int media_preproc(frag_ivi_info_t* frag_ivi_info)
return (int)rec_cb;
}
-/*���������У����Զ�η���*/
+/*���������У����Զ�η���*/
void frag_try_add_wait_lq(uint8_t td_query, frag_in_t* frg, int thread_seq)
{
int lq_rec = 0;
@@ -1149,12 +1057,12 @@ int media_preproc(frag_ivi_info_t* frag_ivi_info)
}
}
-/*���Ͷ���*/
+/*���Ͷ���*/
int frag_add_wait_lq(frag_ivi_info_t* frag_ivi_info, uint32_t frag_stat, int thread_seq)
{
frag_in_t* frg = frag_ivi_info->frg;
- /*rec=1: IVI ȥ��ֻ��һ��frag rec=2:IVIȥ��ֻ������frag*/
+ /*rec=1: IVI ȥ��ֻ��һ��frag rec=2:IVIȥ��ֻ������frag*/
if(1==frag_stat)
{
frag_try_add_wait_lq(frag_ivi_info->td_query, frg, thread_seq);
@@ -1177,7 +1085,7 @@ int frag_add_wait_lq(frag_ivi_info_t* frag_ivi_info, uint32_t frag_stat, int thr
return 0;
}
-/*����ֵ��-1��*/
+/*����ֵ��-1��*/
int frag_service(frag_ivi_info_t* frag_ivi_info, uint32_t src_ip, int thread_seq)
{
int frag_stat = 0;
@@ -1185,7 +1093,7 @@ int frag_service(frag_ivi_info_t* frag_ivi_info, uint32_t src_ip, int thread_seq
frag_ivi_info->thread_seq = thread_seq;
frag_ivi_info->mid = frag_ivi_info->frg->mid;
- /*��Ƭ���������ظ����ݲ��ٴ���*/
+ /*��Ƭ���������ظ����ݲ��ٴ���*/
if(frag_ivi_info->frg_unit!=NULL && frag_ivi_info->frg_unit->repeat_not_proc)
{
atomic_inc(&g_frag_stat.stat_info[FRAG_DEDUP][TOTAL_PKTS]);
@@ -1197,13 +1105,13 @@ int frag_service(frag_ivi_info_t* frag_ivi_info, uint32_t src_ip, int thread_seq
frag_stat = media_preproc(frag_ivi_info);
if(-1==frag_stat)
{
- /*û���ҵ���Ŀ��������û��Ԫ��Ϣ*/
+ /*û���ҵ���Ŀ��������û��Ԫ��Ϣ*/
frag_write_to_log(MEDIA_NO_META, frag_ivi_info->frg->pid, NULL, NULL, 0);
atomic_inc(&g_frag_stat.stat_info[MEDIA_NOMETA][TOTAL_PKTS]);
atomic_add(&g_frag_stat.stat_info[MEDIA_NOMETA][TOTAL_BYTES],frag_ivi_info->frg->datalen);
return -1;
}
- /*��Ƭ����������:����У�����*/
+ /*��Ƭ����������:����У�����*/
if(!g_frag_cfg.app_switch)
{
frag_add_wait_lq(frag_ivi_info, frag_stat, thread_seq);
@@ -1224,7 +1132,7 @@ long converge_data_search_cb(void *data, const uint8_t *key, uint size, void *us
frag_ivi_info->frg_unit = frg_unit;
- /*��Ƭ���������������IJ��ٴ����������ﶪ�������ٲ��Ŀ�Ĵ���*/
+ /*��Ƭ���������������IJ��ٴ����������ﶪ�������ٲ��Ŀ�Ĵ���*/
if(frg_unit->repeat_not_proc)
{
atomic_inc(&g_frag_stat.stat_info[FRAG_DEDUP][TOTAL_PKTS]);
@@ -1275,13 +1183,13 @@ int add_frag(uint64_t pid, uint64_t offset, char* data, uint32_t datalen, uint8_
frg->thread_seq = thread_seq;
frg->src_ip = src_ip;
- /*������Ӧ��*/
+ /*������Ӧ��*/
send_ack_to_qd(frg, src_ip, thread_seq);
frag_ivi_info->frg = frg;
MESA_htable_search_cb(frag_rssb.converge_hash, (const uint8_t *)&pid, sizeof(pid),
converge_data_search_cb, (void*)frag_ivi_info, &rec);
- /*��Ƭ����������׼������*/
+ /*��Ƭ����������׼������*/
if(1==rec)
{
rec=frag_service(frag_ivi_info, src_ip, thread_seq);
@@ -1290,11 +1198,11 @@ int add_frag(uint64_t pid, uint64_t offset, char* data, uint32_t datalen, uint8_
free_frag_in(frg,0,NULL);
}
}
- /*��ͳ��Ŀ*/
+ /*��ͳ��Ŀ*/
else if(-1==rec)
{
rec = frag_service(frag_ivi_info, src_ip, thread_seq);
- /*û��Ԫ��Ϣ,�ͷ�*/
+ /*û��Ԫ��Ϣ,�ͷ�*/
if(-1==rec)
{
free_frag_in(frg,0,NULL);
@@ -1305,9 +1213,9 @@ int add_frag(uint64_t pid, uint64_t offset, char* data, uint32_t datalen, uint8_
}
/*return
-* -1:��Ŀ������
-* 0:������Ԫ��Ϣ
-* 1:����Ԫ��Ϣ
+* -1:��Ŀ������
+* 0:������Ԫ��Ϣ
+* 1:����Ԫ��Ϣ
*/
long get_media(void *data, const uint8_t *key, uint size, void *user_arg)
{
@@ -1324,7 +1232,7 @@ long get_media(void *data, const uint8_t *key, uint size, void *user_arg)
media_info->protocol = mdi->proto;
media_info->data_flag = mdi->data_flag;
media_info->flag = mdi->meta_flag;
- /*��Դ��������۴�ƴװ�ϲ�����ɢ����ʶ*/
+ /*��Դ��������۴�ƴװ�ϲ�����ɢ����ʶ*/
if(FLAG_TEST(mdi->td_query, TD_QUERY_RES_MULTISRC))
{
media_info->hitservice = 0;
@@ -1333,8 +1241,8 @@ long get_media(void *data, const uint8_t *key, uint size, void *user_arg)
{
media_info->hitservice = mdi->hit_service;
}
- /*����ͳ��for data*/
- /*����HLS OSMF��������ƬЭ��media_type����Ϊ��ͳ��Ŀ��mediatype*/
+ /*����ͳ��for data*/
+ /*����HLS OSMF��������ƬЭ��media_type����Ϊ��ͳ��Ŀ��mediatype*/
if(mdi->media_type==FILE_REQ_FRAG)
{
media_info->media_type = FILE_AV;
@@ -1353,10 +1261,10 @@ long get_media(void *data, const uint8_t *key, uint size, void *user_arg)
media_info->cap_IP = mdi->qd_info[0].cap_ip;
}
- /*��Դ������������ƴ��װ����Ҫ����ѡ��*/
+ /*��Դ������������ƴ��װ����Ҫ����ѡ��*/
if(FLAG_TEST(mdi->td_query, TD_QUERY_RES_MULTISRC))
{
- /*������ƿװ��ѡ��*/
+ /*������ƿװ��ѡ��*/
if(NULL!=mdi->opt[MEDIA_OPT_URL][mdi->url_opt_index])
{
media_info->opt_unit = (struct opt_unit_t*)calloc(2+mdi->qdinfo_idx_last, sizeof(struct opt_unit_t));
@@ -1398,7 +1306,7 @@ long get_media(void *data, const uint8_t *key, uint size, void *user_arg)
}
else
{
- /*SIP ѡ��*/
+ /*SIP ѡ��*/
if(mdi->proto==AV_PROTOCOL_SIP && mdi->sip_rate_info!=NULL)
{
media_info->opt_unit = (struct opt_unit_t*)calloc(1, sizeof(struct opt_unit_t));
@@ -1412,7 +1320,7 @@ long get_media(void *data, const uint8_t *key, uint size, void *user_arg)
#else
if(mdi->proto!=AV_PROTOCOL_SIP)
{
- /*�������ݷ�������ѡ��*/
+ /*�������ݷ�������ѡ��*/
media_info->opt_unit = (struct opt_unit_t*)calloc(1, sizeof(struct opt_unit_t));
media_info->opt_unit->opt_len = sizeof(uint32_t)+sizeof(uint8_t)+sizeof(unsigned int);
media_info->opt_unit->opt_type = OPT_SOURCE_IP;