f = (type & (MPS_TABLE|MPS_FTABLE)) ||
(pid == s->s_components.set_pmt_pid) ||
(pid == s->s_components.set_pcr_pid);
- ts_recv_packet1((mpegts_service_t*)s, tsb, llen, f);
+ ts_recv_packet1((mpegts_service_t*)s, pid, tsb, llen, f);
}
} else
/* Stream table data */
f = (type & (MPS_TABLE|MPS_FTABLE)) ||
(pid == s->s_components.set_pmt_pid) ||
(pid == s->s_components.set_pcr_pid);
- ts_recv_packet1((mpegts_service_t*)s, tsb, llen, f);
+ ts_recv_packet1((mpegts_service_t*)s, pid, tsb, llen, f);
}
}
}
/**
- * Process service stream packets, extract PCR and optionally descramble
+ * Process service stream packets, optionally descramble
*/
int
ts_recv_packet1
- (mpegts_service_t *t, const uint8_t *tsb, int len, int table)
+ (mpegts_service_t *t, uint16_t pid, const uint8_t *tsb, int len, int table)
{
elementary_stream_t *st;
- int_fast16_t pid;
uint_fast8_t scrambled, error = 0;
int r;
service_nicename((service_t*)t), t->s_tei_log.count);
}
- pid = (tsb[1] & 0x1f) << 8 | tsb[2];
-
st = elementary_stream_find(&t->s_components, pid);
if((st == NULL) && (pid != t->s_components.set_pcr_pid) && !table) {
(struct mpegts_service *t, elementary_stream_t *st, const uint8_t *tsb, int len);
int ts_recv_packet1
- (struct mpegts_service *t, const uint8_t *tsb, int len, int table);
+ (struct mpegts_service *t, uint16_t pid, const uint8_t *tsb, int len, int table);
void ts_recv_packet2(struct mpegts_service *t, const uint8_t *tsb, int len);