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 3581869d83)
This commit is contained in:
Adam Sutton 2013-04-16 21:11:11 +01:00
parent bc7997738f
commit 7fbe147dd4

View 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;
}