From 8a43edd48e00a724eba76b37418ee18840dbe60e Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Sun, 3 Sep 2017 15:38:14 +0200 Subject: [PATCH] parsers: allow higher PTS/PCR drift, fixes #4507 --- src/parsers/parsers.c | 2 +- src/service.c | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/parsers/parsers.c b/src/parsers/parsers.c index 16b98a207..cfb29e3c9 100644 --- a/src/parsers/parsers.c +++ b/src/parsers/parsers.c @@ -1843,7 +1843,7 @@ parser_deliver(service_t *t, elementary_stream_t *st, th_pkt_t *pkt) goto deliver; } - diff = st->es_type == SCT_DVBSUB ? 6*90000 : 4*90000; + diff = st->es_type == SCT_DVBSUB ? 8*90000 : 6*90000; d = pts_diff(pkt->pkt_pcr, (pkt->pkt_dts + 30000) & PTS_MASK); if (d > diff || d == PTS_UNSET) { diff --git a/src/service.c b/src/service.c index f1690bba5..3fc7b26c2 100644 --- a/src/service.c +++ b/src/service.c @@ -707,13 +707,12 @@ service_start(service_t *t, int instance, int weight, int flags, pthread_mutex_lock(&t->s_stream_mutex); service_build_filter(t); + if (service_has_no_audio(t, 1)) + t->s_pcr_boundary = 6*90000; pthread_mutex_unlock(&t->s_stream_mutex); descrambler_caid_changed(t); - if (service_has_no_audio(t, 1)) - t->s_pcr_boundary = 4*90000; - if((r = t->s_start_feed(t, instance, weight, flags))) return r; -- 2.47.3