Esempio n. 1
0
void on_ait_section(GF_M2TS_Demuxer *ts, u32 evt_type, void *par) 
{
	GF_M2TS_SL_PCK *pck = (GF_M2TS_SL_PCK *)par;
	char *data;
	u32 u32_data_size;
	u32 u32_table_id;

	

	if (evt_type == GF_M2TS_EVT_AIT_FOUND) {
		GF_M2TS_AIT* ait;
		GF_M2TS_AIT_CARRY* ait_carry = (GF_M2TS_AIT_CARRY*)pck->stream;
		data = pck->data;

		if(!check_ait_already_received(ts->ChannelAppList,ait_carry->pid,data)){
			GF_SAFEALLOC(ait, GF_M2TS_AIT);			
			u32_data_size = pck->data_len;
			u32_table_id = data[0];		
			ait->pid = ait_carry->pid;
			ait->service_id = ait_carry->service_id;
			gf_m2ts_decode_ait(ait, data, u32_data_size, u32_table_id);
			gf_m2ts_process_ait(ts,ait);
			gf_ait_destroy(ait);
			if (ts->on_event) ts->on_event(ts, GF_M2TS_EVT_AIT_FOUND, pck->stream);
		}
		
	}
}
Esempio n. 2
0
void on_ait_section(GF_M2TS_Demuxer *ts, u32 evt_type, void *par) 
{
	GF_M2TS_SL_PCK *pck = (GF_M2TS_SL_PCK *)par;
	char *data;
	u32 u32_data_size;
	u32 u32_table_id;

	if (evt_type == GF_M2TS_EVT_AIT_FOUND) {
		data = pck->data;
		u32_data_size = pck->data_len;
		u32_table_id = data[0];

		gf_m2ts_process_ait((GF_M2TS_AIT*)pck->stream, data, u32_data_size, u32_table_id);

	}
}