From 7fbe147dd4389e4d22d71785222209939535580e 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. (cherry picked from commit 3581869d83831f80dd7564ea4bb2a25b68ecf087) --- 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 83376252..d5edb271 100644 --- a/src/dvb/dvb_tables.c +++ b/src/dvb/dvb_tables.c @@ -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; }