]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
tdt: ignore other network in NIT this causes havoc with DVB-S networks.
authorAdam Sutton <dev@adamsutton.me.uk>
Tue, 16 Apr 2013 20:11:11 +0000 (21:11 +0100)
committerAdam Sutton <dev@adamsutton.me.uk>
Thu, 18 Apr 2013 12:28:15 +0000 (13:28 +0100)
This is particularly true where the other network is only available
via another orbital position (we could check for this) but it also
causes problems with other transmission types so I think we'll just
ignore for now.
(cherry picked from commit 3581869d83831f80dd7564ea4bb2a25b68ecf087)

src/dvb/dvb_tables.c

index 8337625288181933e1ab9be86e4e9e07c64b7d1f..d5edb271672050d65d13f89272a6c7d56a636b68 100644 (file)
@@ -885,6 +885,9 @@ 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)
@@ -911,7 +914,7 @@ dvb_nit_callback(th_dvb_mux_instance_t *tdmi, uint8_t *ptr, int len,
       case DVB_DESC_NETWORK_NAME:
         if(dvb_get_string(netname, sizeof(netname), ptr+2, dlen, NULL, NULL))
           return -1;
-        if(tableid == 0x40 && (!tdmi->tdmi_network || *tdmi->tdmi_network == '\0'))
+        if(!tdmi->tdmi_network || *tdmi->tdmi_network == '\0')
           dvb_mux_set_networkname(tdmi, netname);
         break;
     }