]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
dvb psi: another little correction for TSID check
authorJaroslav Kysela <perex@perex.cz>
Mon, 30 May 2016 14:03:15 +0000 (16:03 +0200)
committerJaroslav Kysela <perex@perex.cz>
Mon, 30 May 2016 14:03:15 +0000 (16:03 +0200)
src/input/mpegts/dvb_psi.c

index 0e961bb08e079e505896745e149ce25189ad9f1f..1957a02ddb9cbad017b097f91fce8b15055f8527 100644 (file)
@@ -876,22 +876,24 @@ dvb_pat_callback
 
   /* Multiplex */
   tvhdebug("pat", "%p: tsid %04X (%d)", mm, tsid, tsid);
-  if (mm->mm_tsid && mm->mm_tsid != tsid) {
-    char buf[256];
-    if (++mm->mm_tsid_checks > 12) {
-      mpegts_mux_nice_name(mm, buf, sizeof(buf));
-      tvhwarn("pat", "%s: TSID change detected - old %04x (%d), new %04x (%d)",
-              buf, mm->mm_tsid, mm->mm_tsid, tsid, tsid);
-    } else {
-      if (tvhtrace_enabled()) {
+  if (mm->mm_tsid != MPEGTS_TSID_NONE) {
+    if (mm->mm_tsid && mm->mm_tsid != tsid) {
+      char buf[256];
+      if (++mm->mm_tsid_checks > 12) {
         mpegts_mux_nice_name(mm, buf, sizeof(buf));
-        tvhtrace("pat", "%s: ignore TSID - old %04x (%d), new %04x (%d) (checks %d)",
-                 buf, mm->mm_tsid, mm->mm_tsid, tsid, tsid, mm->mm_tsid_checks);
+        tvhwarn("pat", "%s: TSID change detected - old %04x (%d), new %04x (%d)",
+                buf, mm->mm_tsid, mm->mm_tsid, tsid, tsid);
+      } else {
+        if (tvhtrace_enabled()) {
+          mpegts_mux_nice_name(mm, buf, sizeof(buf));
+          tvhtrace("pat", "%s: ignore TSID - old %04x (%d), new %04x (%d) (checks %d)",
+                   buf, mm->mm_tsid, mm->mm_tsid, tsid, tsid, mm->mm_tsid_checks);
+        }
+        return 0; /* keep rolling */
       }
-      return 0; /* keep rolling */
     }
+    mm->mm_tsid_checks = -100;
   }
-  mm->mm_tsid_checks = -100;
   mpegts_mux_set_tsid(mm, tsid, 1);
   
   /* Process each programme */