p = section;
if (parse_section_header(h, &p, p_end) < 0)
return;
+ if (h->version == tssf->last_ver)
+ return;
+ tssf->last_ver = h->version;
- av_log(ts->stream, AV_LOG_TRACE, "sid=0x%x sec_num=%d/%d\n",
- h->id, h->sec_num, h->last_sec_num);
+ av_log(ts->stream, AV_LOG_TRACE, "sid=0x%x sec_num=%d/%d version=%d\n",
+ h->id, h->sec_num, h->last_sec_num, h->version);
if (h->tid != PMT_TID)
return;
return;
if (h->tid != PAT_TID)
return;
+ if (ts->skip_changes)
+ return;
+
+ if (h->version == tssf->last_ver)
+ return;
+ tssf->last_ver = h->version;
+ ts->stream->ts_id = h->id;
clear_programs(ts);
for (;;) {
return;
if (h->tid != SDT_TID)
return;
+ if (ts->skip_changes)
+ return;
+ if (h->version == tssf->last_ver)
+ return;
+ tssf->last_ver = h->version;
+
onid = get16(&p, p_end);
if (onid < 0)
return;