Display network name for muxes in webui

This commit is contained in:
Andreas Öman 2008-08-25 20:04:49 +00:00
parent 7596ba043f
commit a0035318b7
4 changed files with 27 additions and 9 deletions

View file

@ -67,6 +67,8 @@ th_dvb_mux_instance_t *dvb_mux_create(th_dvb_adapter_t *tda,
uint16_t tsid, const char *network, uint16_t tsid, const char *network,
const char *logprefix); const char *logprefix);
void dvb_mux_set_networkname(th_dvb_mux_instance_t *tdmi, const char *name);
void dvb_tune_tdmi(th_dvb_mux_instance_t *tdmi, int maylog, void dvb_tune_tdmi(th_dvb_mux_instance_t *tdmi, int maylog,
tdmi_state_t state); tdmi_state_t state);

View file

@ -525,3 +525,22 @@ dvb_mux_load(th_dvb_adapter_t *tda)
htsmsg_destroy(l); htsmsg_destroy(l);
} }
/**
*
*/
void
dvb_mux_set_networkname(th_dvb_mux_instance_t *tdmi, const char *networkname)
{
htsmsg_t *m = htsmsg_create();
char buf[100];
htsmsg_add_str(m, "id", tdmi->tdmi_identifier);
free((void *)tdmi->tdmi_network);
tdmi->tdmi_network = strdup(networkname);
dvb_mux_save(tdmi);
dvb_mux_nicename(buf, sizeof(buf), tdmi);
htsmsg_add_str(m, "name", buf);
notify_by_msg("dvbmux", m);
}

View file

@ -337,16 +337,17 @@ void
dvb_mux_nicename(char *buf, size_t size, th_dvb_mux_instance_t *tdmi) dvb_mux_nicename(char *buf, size_t size, th_dvb_mux_instance_t *tdmi)
{ {
char freq[50]; char freq[50];
const char *n = tdmi->tdmi_network;
if(tdmi->tdmi_adapter->tda_type == FE_QPSK) { if(tdmi->tdmi_adapter->tda_type == FE_QPSK) {
nicenum(freq, sizeof(freq), tdmi->tdmi_fe_params.frequency); nicenum(freq, sizeof(freq), tdmi->tdmi_fe_params.frequency);
snprintf(buf, size, "%s kHz %s port %d", freq, snprintf(buf, size, "%s%s%s kHz %s port %d",
n?:"", n ? ": ":"", freq,
dvb_polarisation_to_str_long(tdmi->tdmi_polarisation), dvb_polarisation_to_str_long(tdmi->tdmi_polarisation),
tdmi->tdmi_switchport); tdmi->tdmi_switchport);
} else { } else {
nicenum(freq, sizeof(freq), tdmi->tdmi_fe_params.frequency / 1000); nicenum(freq, sizeof(freq), tdmi->tdmi_fe_params.frequency / 1000);
snprintf(buf, size, "%s kHz", freq); snprintf(buf, size, "%s%s%s kHz", n?:"", n ? ": ":"", freq);
} }
} }

View file

@ -640,12 +640,8 @@ dvb_nit_callback(th_dvb_mux_instance_t *tdmi, uint8_t *ptr, int len,
if(dvb_get_string(networkname, sizeof(networkname), ptr, tlen, "UTF8")) if(dvb_get_string(networkname, sizeof(networkname), ptr, tlen, "UTF8"))
return; return;
if(strcmp(tdmi->tdmi_network ?: "", networkname)) { if(strcmp(tdmi->tdmi_network ?: "", networkname))
free((void *)tdmi->tdmi_network); dvb_mux_set_networkname(tdmi, networkname);
tdmi->tdmi_network = strdup(networkname);
//notify_tdmi_name_change(tdmi);
dvb_mux_save(tdmi);
}
break; break;
} }