]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
dvb: fix mistake in NIT processing.
authorAdam Sutton <dev@adamsutton.me.uk>
Fri, 10 May 2013 14:10:54 +0000 (15:10 +0100)
committerAdam Sutton <dev@adamsutton.me.uk>
Thu, 11 Jul 2013 19:10:01 +0000 (20:10 +0100)
This was stopping some DVB-C networks from being properly scanned.
(cherry picked from commit 84c1c05d73232d4d0e34bbd587892bb019f0abb5)

src/dvb/dvb_tables.c

index 505176e11931aae7666ce29f66b22c5cca141463..0441f6fbc8072d047a932818080ad5c5d27e1f70 100644 (file)
@@ -881,13 +881,13 @@ dvb_nit_callback(th_dvb_mux_instance_t *tdmi, uint8_t *ptr, int len,
   hexdump("nit", ptr, len);
 #endif
 
-  /* Ignore other network */
-  if(tableid != 0x40) return -1;
-
-  /* Check NID */
-  if(tdmi->tdmi_adapter->tda_nitoid &&
-     tdmi->tdmi_adapter->tda_nitoid != network_id)
-    return -1;
+  /* Specific NID requested */
+  if(tdmi->tdmi_adapter->tda_nitoid) {
+    if (tdmi->tdmi_adapter->tda_nitoid != network_id)
+      return -1;
+  } else if (tableid != 0x40) {
+     return -1;
+  }
 
   /* Ignore non-current */
   if((ptr[2] & 1) == 0)