Option to map SID to channel number when mapping services to channels.
This commit is contained in:
parent
3f04935d96
commit
7e6c4b23d2
5 changed files with 34 additions and 2 deletions
|
@ -178,6 +178,7 @@ typedef struct th_dvb_adapter {
|
|||
uint32_t tda_skip_checksubscr;
|
||||
uint32_t tda_qmon;
|
||||
uint32_t tda_poweroff;
|
||||
uint32_t tda_sidtochan;
|
||||
uint32_t tda_nitoid;
|
||||
uint32_t tda_diseqc_version;
|
||||
char *tda_displayname;
|
||||
|
@ -293,6 +294,8 @@ void dvb_adapter_set_dump_muxes(th_dvb_adapter_t *tda, int on);
|
|||
|
||||
void dvb_adapter_set_poweroff(th_dvb_adapter_t *tda, int on);
|
||||
|
||||
void dvb_adapter_set_sidtochan(th_dvb_adapter_t *tda, int on);
|
||||
|
||||
void dvb_adapter_set_nitoid(th_dvb_adapter_t *tda, int nitoid);
|
||||
|
||||
void dvb_adapter_set_diseqc_version(th_dvb_adapter_t *tda, unsigned int v);
|
||||
|
|
|
@ -213,6 +213,23 @@ dvb_adapter_set_qmon(th_dvb_adapter_t *tda, int on)
|
|||
tda_save(tda);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
void
|
||||
dvb_adapter_set_sidtochan(th_dvb_adapter_t *tda, int on)
|
||||
{
|
||||
if(tda->tda_sidtochan == on)
|
||||
return;
|
||||
|
||||
lock_assert(&global_lock);
|
||||
|
||||
tvhlog(LOG_NOTICE, "dvb", "Adapter \"%s\" use SID as channel number when mapping set to: %s",
|
||||
tda->tda_displayname, on ? "On" : "Off");
|
||||
|
||||
tda->tda_sidtochan = on;
|
||||
tda_save(tda);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
@ -174,9 +174,13 @@ serviceprobe_thread(void *aux)
|
|||
tvhlog(LOG_INFO, "serviceprobe", "%20s: skipped: %s",
|
||||
t->s_svcname, err);
|
||||
} else if(t->s_ch == NULL) {
|
||||
int channum = t->s_channel_number;
|
||||
const char *str;
|
||||
|
||||
if (!channum && t->s_dvb_mux_instance->tdmi_adapter->tda_sidtochan)
|
||||
channum = t->s_dvb_service_id;
|
||||
|
||||
ch = channel_find_by_name(t->s_svcname, 1, t->s_channel_number);
|
||||
ch = channel_find_by_name(t->s_svcname, 1, channum);
|
||||
service_map_channel(t, ch, 1);
|
||||
|
||||
tvhlog(LOG_INFO, "serviceprobe", "%20s: mapped to channel \"%s\"",
|
||||
|
|
|
@ -154,6 +154,7 @@ extjs_dvbadapter(http_connection_t *hc, const char *remain, void *opaque)
|
|||
htsmsg_add_u32(r, "qmon", tda->tda_qmon);
|
||||
htsmsg_add_u32(r, "dumpmux", tda->tda_dump_muxes);
|
||||
htsmsg_add_u32(r, "poweroff", tda->tda_poweroff);
|
||||
htsmsg_add_u32(r, "sidtochan", tda->tda_sidtochan);
|
||||
htsmsg_add_u32(r, "nitoid", tda->tda_nitoid);
|
||||
htsmsg_add_str(r, "diseqcversion",
|
||||
((const char *[]){"DiSEqC 1.0 / 2.0",
|
||||
|
@ -185,6 +186,9 @@ extjs_dvbadapter(http_connection_t *hc, const char *remain, void *opaque)
|
|||
s = http_arg_get(&hc->hc_req_args, "poweroff");
|
||||
dvb_adapter_set_poweroff(tda, !!s);
|
||||
|
||||
s = http_arg_get(&hc->hc_req_args, "sidtochan");
|
||||
dvb_adapter_set_sidtochan(tda, !!s);
|
||||
|
||||
s = http_arg_get(&hc->hc_req_args, "dumpmux");
|
||||
dvb_adapter_set_dump_muxes(tda, !!s);
|
||||
|
||||
|
|
|
@ -1106,7 +1106,7 @@ tvheadend.dvb_adapter_general = function(adapterData, satConfStore) {
|
|||
var confreader = new Ext.data.JsonReader({
|
||||
root: 'dvbadapters'
|
||||
}, ['name', 'automux', 'skip_initialscan', 'idlescan', 'diseqcversion', 'qmon',
|
||||
'skip_checksubscr', 'dumpmux', 'poweroff', 'nitoid','extrapriority']);
|
||||
'skip_checksubscr', 'dumpmux', 'poweroff', 'sidtochan', 'nitoid','extrapriority']);
|
||||
|
||||
|
||||
function saveConfForm () {
|
||||
|
@ -1182,6 +1182,10 @@ tvheadend.dvb_adapter_general = function(adapterData, satConfStore) {
|
|||
fieldLabel: 'Turn off LNB when idle',
|
||||
name: 'poweroff'
|
||||
});
|
||||
new Ext.form.Checkbox({
|
||||
fieldLabel: 'Use SID as channel number during mapping',
|
||||
name: 'sidtochan'
|
||||
}),
|
||||
items.push(v);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue