{
int p = 0, w;
mpegts_service_t *s = (mpegts_service_t*)t;
+ mpegts_input_t *mi;
mpegts_mux_t *m = s->s_dvb_mux;
mpegts_mux_instance_t *mmi;
if (mmi->mmi_tune_failed)
continue;
- if (!mmi->mmi_input->mi_is_enabled(mmi->mmi_input, mmi->mmi_mux, "service")) continue;
+ mi = mmi->mmi_input;
+
+ if (!mi->mi_is_enabled(mi, mmi->mmi_mux, "service")) continue;
/* Set weight to -1 (forced) for already active mux */
if (mmi->mmi_mux->mm_active == mmi) {
w = -1;
p = -1;
} else {
- w = mmi->mmi_input->mi_get_weight(mmi->mmi_input, flags);
- p = mmi->mmi_input->mi_get_priority(mmi->mmi_input, mmi->mmi_mux, flags);
+ w = mi->mi_get_weight(mi, flags);
+ p = mi->mi_get_priority(mi, mmi->mmi_mux, flags);
}
- service_instance_add(sil, t, mmi->mmi_input->mi_instance, p, w);
+ service_instance_add(sil, t, mi->mi_instance, mi->mi_name, p, w);
}
}
TAILQ_FOREACH(si, sil, si_link) {
const char *name = ch ? channel_get_name(ch) : NULL;
if (!name && s) name = s->s_nicename;
- tvhdebug("service", "%s si %p weight %d prio %d error %d",
- name, si, si->si_weight, si->si_prio, si->si_error);
+ tvhdebug("service", "%s si %p %s weight %d prio %d error %d",
+ name, si, si->si_source, si->si_weight, si->si_prio,
+ si->si_error);
}
/* Already running? */
*/
service_instance_t *
service_instance_add(service_instance_list_t *sil,
- struct service *s, int instance, int prio,
- int weight)
+ struct service *s, int instance,
+ const char *source, int prio, int weight)
{
service_instance_t *si;
}
si->si_weight = weight;
si->si_prio = prio;
+ strncpy(si->si_source, source ?: "<unknown>", sizeof(si->si_source));
TAILQ_INSERT_SORTED(sil, si, si_link, si_cmp);
return si;
}