Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
service: log the instance source
  • Loading branch information
perexg committed Oct 28, 2014
1 parent 6b5c0cd commit a4cfbb9
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 8 deletions.
11 changes: 7 additions & 4 deletions src/input/mpegts/mpegts_service.c
Expand Up @@ -225,6 +225,7 @@ mpegts_service_enlist(service_t *t, struct service_instance_list *sil, int flags
{
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;

Expand All @@ -238,18 +239,20 @@ mpegts_service_enlist(service_t *t, struct service_instance_list *sil, int flags
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);
}
}

Expand Down
10 changes: 6 additions & 4 deletions src/service.c
Expand Up @@ -685,8 +685,9 @@ service_find_instance
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? */
Expand Down Expand Up @@ -1470,8 +1471,8 @@ si_cmp(const service_instance_t *a, const service_instance_t *b)
*/
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;

Expand All @@ -1493,6 +1494,7 @@ service_instance_add(service_instance_list_t *sil,
}
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;
}
Expand Down
3 changes: 3 additions & 0 deletions src/service.h
Expand Up @@ -160,6 +160,8 @@ typedef struct service_instance {

int si_mark; // For mark & sweep

char si_source[128];

} service_instance_t;


Expand All @@ -169,6 +171,7 @@ typedef struct service_instance {
service_instance_t *service_instance_add(service_instance_list_t *sil,
struct service *s,
int instance,
const char *source,
int prio,
int weight);

Expand Down

0 comments on commit a4cfbb9

Please sign in to comment.