From 3581869d83831f80dd7564ea4bb2a25b68ecf087 Mon Sep 17 00:00:00 2001 From: Adam Sutton Date: Tue, 16 Apr 2013 21:11:11 +0100 Subject: [PATCH] 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. --- src/dvb/dvb_tables.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/dvb/dvb_tables.c b/src/dvb/dvb_tables.c index 11d6ce08..d13da580 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; }