代码文件:libavformat/mpegtsenc.c
##1.PAT/PMT插入间隔
1.1.插入间隔实质是根据ts->pat_period*90000.0) ,sdt_packet_period和 force_pat共同决定的;
static void retransmit_si_info(AVFormatContext *s, int force_pat, int64_t dts)
{
......
if (++ts->pat_packet_count == ts->pat_packet_period ||
(dts != AV_NOPTS_VALUE && ts->last_pat_ts == AV_NOPTS_VALUE) ||
(dts != AV_NOPTS_VALUE && dts - ts->last_pat_ts >= ts->pat_period*90000.0) ||
force_pat) {
ts->pat_packet_count = 0;
if (dts != AV_NOPTS_VALUE)
ts->last_pat_ts = FFMAX(dts, ts->last_pat_ts);
mpegts_write_pat(s);
for (i = 0; i < ts->nb_services; i++)
mpegts_write_pmt(s, ts->services[i]);
}