tdmi->tdmi_network_id = onid;
save = 1;
}
- if(network && strcmp(tdmi->tdmi_network ?: "", network)) {
+ if(network && *network && strcmp(tdmi->tdmi_network ?: "", network)) {
free(tdmi->tdmi_network);
tdmi->tdmi_network = strdup(network);
save = 1;
{
htsmsg_t *m;
+ if (!networkname || !*networkname)
+ return;
+
free(tdmi->tdmi_network);
tdmi->tdmi_network = strdup(networkname);
dvb_mux_save(tdmi);
uint16_t network_id = (ptr[0] << 8) | ptr[1];
netname[0] = '\0';
+ TRACE("nit", "tableid 0x%02x", tableid);
+#if TDT_TRACE
+ hexdump("nit", ptr, len);
+#endif
+
/* Check NID */
if(tdmi->tdmi_adapter->tda_nitoid &&
tdmi->tdmi_adapter->tda_nitoid != network_id)
dtag = ptr[0];
dlen = ptr[1];
+ TRACE("nit", "dtag %02X dlen %d", dtag, dlen);
+
switch(dtag) {
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'))
+ dvb_mux_set_networkname(tdmi, netname);
break;
}
dtag = ptr[0];
dlen = ptr[1];
+ TRACE("nit", " dtag %02X dlen %d", dtag, dlen);
+
switch(dtag) {
case DVB_DESC_SAT:
if(tdmi->tdmi_adapter->tda_type == FE_QPSK)
{
/* Network Information Table */
- int table;
-
- if(tdmi->tdmi_adapter->tda_nitoid) {
- table = 0x41;
- } else {
- table = 0x40;
- }
- tdt_add(tdmi, table, 0xff, dvb_nit_callback, NULL, "nit",
+ tdt_add(tdmi, 0, 0, dvb_nit_callback, NULL, "nit",
TDT_QUICKREQ | TDT_CRC, 0x10);
/* Service Descriptor Table and Bouqeut Allocation Table */