From bdfc4d779fdecda108d51307895fc88077883304 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Sat, 31 Jan 2015 16:55:40 +0100 Subject: [PATCH] tsdemux: move the error handling to the parsers.c --- src/input/mpegts/tsdemux.c | 9 ++------- src/parsers/parsers.c | 2 +- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/input/mpegts/tsdemux.c b/src/input/mpegts/tsdemux.c index 753e7e5d..6487182b 100644 --- a/src/input/mpegts/tsdemux.c +++ b/src/input/mpegts/tsdemux.c @@ -76,12 +76,7 @@ ts_recv_packet0 service_component_nicename(st), st->es_cc_log.count); avgstat_add(&t->s_cc_errors, 1, dispatch_clock); avgstat_add(&st->es_cc_errors, 1, dispatch_clock); - - // Mark as error if this is not the first packet of a payload - if(!pusi) - error |= 2; - - error |= 4; + error |= 2; } st->es_cc = (cc + 1) & 0xf; } @@ -106,7 +101,7 @@ ts_recv_packet0 break; if(t->s_status == SERVICE_RUNNING) - parse_mpeg_ts((service_t*)t, st, tsb + off, 188 - off, pusi, error & 3); + parse_mpeg_ts((service_t*)t, st, tsb + off, 188 - off, pusi, error); break; } } diff --git a/src/parsers/parsers.c b/src/parsers/parsers.c index 8fb04c7d..6c75f35e 100644 --- a/src/parsers/parsers.c +++ b/src/parsers/parsers.c @@ -134,7 +134,7 @@ parse_mpeg_ts(service_t *t, elementary_stream_t *st, const uint8_t *data, int len, int start, int err) { - if(err) + if(err && (err != 2 || !start)) sbuf_err(&st->es_buf); switch(st->es_type) {