pcr |= (uint64_t)tsb2[9] << 1;
pcr |= ((uint64_t)tsb2[10] >> 7) & 0x01;
/* handle the broken info using candidate variable */
- if (t->s_current_pcr == PTS_UNSET || pts_diff(t->s_current_pcr, pcr) <= 90000 ||
- (t->s_candidate_pcr != PTS_UNSET && pts_diff(t->s_candidate_pcr, pcr) <= 90000)) {
+ if (t->s_current_pcr == PTS_UNSET || pts_diff(t->s_current_pcr, pcr) <= 2*90000 ||
+ (t->s_candidate_pcr != PTS_UNSET && pts_diff(t->s_candidate_pcr, pcr) <= 2*90000)) {
if (pcr != t->s_current_pcr) {
if (t->s_current_pcr == PTS_UNSET)
tvhtrace(LS_TS, "%s: PCR initial: %"PRId64, service_nicename((service_t*)t), pcr);
diff = st->es_type == SCT_DVBSUB ? 6*90000 : 3*90000;
if (pts_diff(pkt->pkt_pcr, pkt->pkt_pts) > diff) {
- printf("%s: PTS and PCR diff is very big (%"PRId64")\n",
- service_component_nicename(st), pts_diff(pkt->pkt_pcr, pkt->pkt_pts));
if (tvhlog_limit(&st->es_pcr_log, 2))
tvhwarn(LS_PARSER, "%s: PTS and PCR diff is very big (%"PRId64")",
service_component_nicename(st), pts_diff(pkt->pkt_pcr, pkt->pkt_pts));
static void
service_stream_make_nicename(service_t *t, elementary_stream_t *st)
{
- char buf[200];
+ char buf[256];
if(st->es_pid != -1)
snprintf(buf, sizeof(buf), "%s: %s @ #%d",
service_nicename(t),