service: added s_is_enabled() function for checking enable chain

This commit is contained in:
Adam Sutton 2013-01-19 00:57:22 +00:00
parent 762b153bc1
commit 27e0eb09a2
4 changed files with 32 additions and 0 deletions

View file

@ -135,6 +135,17 @@ dvb_service_refresh(service_t *t)
tda->tda_open_service(tda, t);
}
/**
*
*/
static int
dvb_service_is_enabled(service_t *t)
{
th_dvb_mux_instance_t *tdmi = t->s_dvb_mux_instance;
th_dvb_adapter_t *tda = tdmi->tdmi_adapter;
return tda->tda_enabled && tdmi->tdmi_enabled && t->s_enabled;
}
/**
*
@ -432,6 +443,7 @@ dvb_service_find2(th_dvb_mux_instance_t *tdmi, uint16_t sid, int pmt_pid,
t->s_setsourceinfo = dvb_service_setsourceinfo;
t->s_quality_index = dvb_service_quality;
t->s_grace_period = dvb_grace_period;
t->s_is_enabled = dvb_service_is_enabled;
t->s_dvb_mux_instance = tdmi;
LIST_INSERT_HEAD(&tdmi->tdmi_transports, t, s_group_link);

View file

@ -461,6 +461,14 @@ iptv_service_quality(service_t *t)
return 100;
}
/**
*
*/
static int
iptv_service_is_enabled(service_t *t)
{
return t->s_enabled;
}
/**
* Generate a descriptive name for the source
@ -543,6 +551,7 @@ iptv_service_find(const char *id, int create)
t->s_config_save = iptv_service_save;
t->s_setsourceinfo = iptv_service_setsourceinfo;
t->s_quality_index = iptv_service_quality;
t->s_is_enabled = iptv_service_is_enabled;
t->s_grace_period = iptv_grace_period;
t->s_dtor = iptv_service_dtor;
t->s_iptv_fd = -1;

View file

@ -249,6 +249,7 @@ typedef struct service {
* subscription scheduling.
*/
int s_enabled;
int (*s_is_enabled)(struct service *t);
/**
* Last PCR seen, we use it for a simple clock for rawtsinput.c

View file

@ -304,6 +304,15 @@ v4l_service_quality(service_t *t)
return 100;
}
/**
*
*/
static int
v4l_service_is_enabled(service_t *t)
{
return t->s_enabled;
}
/**
*
@ -372,6 +381,7 @@ v4l_service_find(v4l_adapter_t *va, const char *id, int create)
t->s_config_save = v4l_service_save;
t->s_setsourceinfo = v4l_service_setsourceinfo;
t->s_quality_index = v4l_service_quality;
t->s_is_enabled = v4l_service_is_enabled;
t->s_grace_period = v4l_grace_period;
t->s_iptv_fd = -1;
t->s_v4l_adapter = va;