mpegts: do not reparse PMT unless it's version has changed
This commit is contained in:
parent
5961c58381
commit
2b85c66d66
|
@ -103,6 +103,7 @@ struct MpegTSFilter {
|
|||
int last_cc; /* last cc code (-1 if first packet) */
|
||||
int64_t last_pcr;
|
||||
int discard;
|
||||
int last_version; /* last version of data on this pid */
|
||||
enum MpegTSFilterType type;
|
||||
union {
|
||||
MpegTSPESFilter pes_filter;
|
||||
|
@ -508,6 +509,7 @@ static MpegTSFilter *mpegts_open_filter(MpegTSContext *ts, unsigned int pid,
|
|||
filter->es_id = -1;
|
||||
filter->last_cc = -1;
|
||||
filter->last_pcr= -1;
|
||||
filter->last_version = -1;
|
||||
|
||||
return filter;
|
||||
}
|
||||
|
@ -2558,6 +2560,9 @@ static void pat_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
|
|||
return;
|
||||
if (ts->skip_changes)
|
||||
return;
|
||||
if (h->version == filter->last_version)
|
||||
return;
|
||||
filter->last_version = h->version;
|
||||
|
||||
if (skip_identical(h, tssf))
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue