]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
tsdemux: move the error handling to the parsers.c
authorJaroslav Kysela <perex@perex.cz>
Sat, 31 Jan 2015 15:55:40 +0000 (16:55 +0100)
committerJaroslav Kysela <perex@perex.cz>
Sat, 31 Jan 2015 15:55:40 +0000 (16:55 +0100)
src/input/mpegts/tsdemux.c
src/parsers/parsers.c

index 753e7e5deb86106a311f2613b3c84fc58759c996..6487182b2d5e9b00e7a7d08ccfa0abe04ef4999d 100644 (file)
@@ -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;
   }
 }
index 8fb04c7df606de210d68c15293fc9fa6684bce96..6c75f35e45a61b3e21192c924122d97382699e0d 100644 (file)
@@ -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) {