From: Adam Sutton Date: Tue, 16 Apr 2013 20:11:11 +0000 (+0100) Subject: tdt: ignore other network in NIT this causes havoc with DVB-S networks. X-Git-Tag: v3.9~89 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3581869d83831f80dd7564ea4bb2a25b68ecf087;p=thirdparty%2Ftvheadend.git tdt: ignore other network in NIT this causes havoc with DVB-S networks. 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. --- diff --git a/src/dvb/dvb_tables.c b/src/dvb/dvb_tables.c index 11d6ce08c..d13da580a 100644 --- a/src/dvb/dvb_tables.c +++ b/src/dvb/dvb_tables.c @@ -875,6 +875,9 @@ dvb_nit_callback(th_dvb_mux_instance_t *tdmi, uint8_t *ptr, int len, tvhtrace("nit", "tableid 0x%02x", tableid); tvhlog_hexdump("nit", ptr, len); + /* Ignore other network */ + if(tableid != 0x40) return -1; + /* Check NID */ if(tdmi->tdmi_adapter->tda_nitoid && tdmi->tdmi_adapter->tda_nitoid != network_id) @@ -901,7 +904,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; }