|
@@ -207,6 +207,13 @@ static void __process_ecm(struct ts *ts, uint16_t pid, uint8_t *ts_packet) {
|
207
|
207
|
|
208
|
208
|
struct ts_header *th = &ts->ecm->ts_header;
|
209
|
209
|
struct ts_section_header *sec = ts->ecm->section_header;
|
|
210
|
+
|
|
211
|
+ // ECMs should be in these tables.
|
|
212
|
+ if (sec->section_data[0] != 0x80 && sec->section_data[0] != 0x81) {
|
|
213
|
+ ts_privsec_clear(ts->ecm);
|
|
214
|
+ return;
|
|
215
|
+ }
|
|
216
|
+
|
210
|
217
|
int duplicate = ts_privsec_is_same(ts->ecm, ts->last_ecm);
|
211
|
218
|
if (duplicate && !ts->is_cw_error)
|
212
|
219
|
ts->ecm_duplicate_count++;
|