diff --git a/src/dvb/dvb.h b/src/dvb/dvb.h index 92f555ff..bd5a46cf 100644 --- a/src/dvb/dvb.h +++ b/src/dvb/dvb.h @@ -243,7 +243,7 @@ th_dvb_mux_instance_t *dvb_mux_create(th_dvb_adapter_t *tda, const struct dvb_mux_conf *dmc, uint16_t tsid, const char *network, const char *logprefix, int enabled, - const char *identifier); + int initialscan, const char *identifier); void dvb_mux_set_networkname(th_dvb_mux_instance_t *tdmi, const char *name); diff --git a/src/dvb/dvb_multiplex.c b/src/dvb/dvb_multiplex.c index c799b16b..5fb67748 100644 --- a/src/dvb/dvb_multiplex.c +++ b/src/dvb/dvb_multiplex.c @@ -150,7 +150,7 @@ tdmi_compare_conf(int adapter_type, th_dvb_mux_instance_t * dvb_mux_create(th_dvb_adapter_t *tda, const struct dvb_mux_conf *dmc, uint16_t tsid, const char *network, const char *source, - int enabled, const char *identifier) + int enabled, int initialscan, const char *identifier) { th_dvb_mux_instance_t *tdmi, *c; unsigned int hash; @@ -278,7 +278,7 @@ dvb_mux_create(th_dvb_adapter_t *tda, const struct dvb_mux_conf *dmc, dvb_transport_load(tdmi); dvb_mux_notify(tdmi); - if(enabled) { + if(enabled && initialscan) { tda->tda_initial_num_mux++; tdmi->tdmi_table_initial = 1; mux_link_initial(tda, tdmi); @@ -707,7 +707,7 @@ tdmi_create_by_msg(th_dvb_adapter_t *tda, htsmsg_t *m, const char *identifier) dmc.dmc_satconf = NULL; tdmi = dvb_mux_create(tda, &dmc, - tsid, htsmsg_get_str(m, "network"), NULL, enabled, + tsid, htsmsg_get_str(m, "network"), NULL, enabled, 0, identifier); if(tdmi != NULL) { @@ -1056,7 +1056,7 @@ dvb_mux_add_by_params(th_dvb_adapter_t *tda, } dmc.dmc_polarisation = polarisation; - tdmi = dvb_mux_create(tda, &dmc, 0xffff, NULL, NULL, 1, NULL); + tdmi = dvb_mux_create(tda, &dmc, 0xffff, NULL, NULL, 1, 1, NULL); if(tdmi == NULL) return "Mux already exist"; @@ -1080,7 +1080,7 @@ dvb_mux_copy(th_dvb_adapter_t *dst, th_dvb_mux_instance_t *tdmi_src) tdmi_src->tdmi_transport_stream_id, tdmi_src->tdmi_network, "copy operation", tdmi_src->tdmi_enabled, - NULL); + 1, NULL); if(tdmi_dst == NULL) return -1; // Already exist diff --git a/src/dvb/dvb_preconf.c b/src/dvb/dvb_preconf.c index 21148c9b..26e32961 100644 --- a/src/dvb/dvb_preconf.c +++ b/src/dvb/dvb_preconf.c @@ -99,7 +99,7 @@ dvb_mux_preconf_add(th_dvb_adapter_t *tda, const struct mux *m, int num, dmc.dmc_satconf = dvb_satconf_entry_find(tda, satconf, 0); - dvb_mux_create(tda, &dmc, 0xffff, NULL, source, 1, NULL); + dvb_mux_create(tda, &dmc, 0xffff, NULL, source, 1, 1, NULL); m++; } } diff --git a/src/dvb/dvb_tables.c b/src/dvb/dvb_tables.c index 7f9d7172..6822f9ec 100644 --- a/src/dvb/dvb_tables.c +++ b/src/dvb/dvb_tables.c @@ -874,7 +874,7 @@ dvb_table_cable_delivery(th_dvb_mux_instance_t *tdmi, uint8_t *ptr, int len, dmc.dmc_fe_params.u.qam.fec_inner = fec_tab[ptr[10] & 0x07]; dvb_mux_create(tdmi->tdmi_adapter, &dmc, tsid, NULL, - "automatic mux discovery", 1, NULL); + "automatic mux discovery", 1, 1, NULL); return 0; } @@ -959,7 +959,7 @@ dvb_table_sat_delivery(th_dvb_mux_instance_t *tdmi, uint8_t *ptr, int len, #endif dvb_mux_create(tdmi->tdmi_adapter, &dmc, tsid, NULL, - "automatic mux discovery", 1, NULL); + "automatic mux discovery", 1, 1, NULL); return 0; }