if(t == NULL || !t->s_enabled || (ch = t->s_ch) == NULL)
return 0;
+ if(!t->s_dvb_eit_enable)
+ return 0;
+
while(len >= 12) {
event_id = ptr[0] << 8 | ptr[1];
start_time = dvb_convert_date(&ptr[2]);
s = htsmsg_get_str(c, "dvb_default_charset");
t->s_dvb_default_charset = s ? strdup(s) : NULL;
+ if(htsmsg_get_u32(c, "dvb_eit_enable", &u32))
+ u32 = 1;
+ t->s_dvb_eit_enable = u32;
+
s = htsmsg_get_str(c, "channelname");
if(htsmsg_get_u32(c, "mapped", &u32))
u32 = 0;
if(t->s_dvb_default_charset != NULL)
htsmsg_add_str(m, "dvb_default_charset", t->s_dvb_default_charset);
+ htsmsg_add_u32(m, "dvb_eit_enable", t->s_dvb_eit_enable);
+
pthread_mutex_lock(&t->s_stream_mutex);
psi_save_service_settings(m, t);
pthread_mutex_unlock(&t->s_stream_mutex);
if(t->s_dvb_default_charset != NULL)
htsmsg_add_str(m, "dvb_default_charset", t->s_dvb_default_charset);
+ htsmsg_add_u32(m, "dvb_eit_enable", t->s_dvb_eit_enable);
+
return m;
}
t->s_enabled = 1;
t->s_pcr_last = PTS_UNSET;
t->s_dvb_default_charset = NULL;
+ t->s_dvb_eit_enable = 1;
TAILQ_INIT(&t->s_components);
streaming_pad_init(&t->s_streaming_pad);
t->s_config_save(t);
}
+/**
+ *
+ */
+void
+service_set_dvb_eit_enable(service_t *t, int dvb_eit_enable)
+{
+ if(t->s_dvb_eit_enable == dvb_eit_enable)
+ return;
+
+ t->s_dvb_eit_enable = dvb_eit_enable;
+ t->s_config_save(t);
+}
/**
*
*/
char *s_dvb_default_charset;
+ /**
+ * Set if EIT grab is enabled for DVB service (the default).
+ */
+ int s_dvb_eit_enable;
+
} service_t;
void service_set_dvb_default_charset(service_t *t, const char *dvb_default_charset);
+void service_set_dvb_eit_enable(service_t *t, int dvb_eit_enable);
+
#endif // SERVICE_H__
if((dvb_default_charset = htsmsg_get_str(c, "dvb_default_charset")) != NULL)
service_set_dvb_default_charset(t, dvb_default_charset);
+
+ if(!htsmsg_get_u32(c, "dvb_eit_enable", &u32))
+ service_set_dvb_eit_enable(t, u32);
}
}
if(t->s_dvb_default_charset != NULL)
htsmsg_add_str(out, "dvb_default_charset", t->s_dvb_default_charset);
+ htsmsg_add_u32(out, "dvb_eit_enable", t->s_dvb_eit_enable);
+
pthread_mutex_unlock(&global_lock);
htsmsg_json_serialize(out, hq, 0);
if((dvb_default_charset = htsmsg_get_str(c, "dvb_default_charset")) != NULL)
service_set_dvb_default_charset(t, dvb_default_charset);
+
+ if(!htsmsg_get_u32(c, "dvb_eit_enable", &u32))
+ service_set_dvb_eit_enable(t, u32);
}
}
valueField:'key'
})
},
+ {
+ header: "EIT",
+ dataIndex: 'dvb_eit_enable',
+ width: 100,
+ renderer: function(value, metadata, record, row, col, store) {
+ if (value == '0')
+ return 'Disabled';
+ if (value == '1')
+ return 'Enabled';
+ },
+ editor: new fm.ComboBox({
+ mode: 'local',
+ store: new Ext.data.SimpleStore({
+ fields: ['key','value'],
+ data: [
+ ['0','Disabled'],
+ ['1','Enabled']
+ ]
+ }),
+ typeAhead: true,
+ lazyRender: true,
+ triggerAction: 'all',
+ displayField:'value',
+ valueField:'key'
+ })
+ },
+/* var eitColumn = new Ext.grid.CheckColumn({
+ header: "EIT Check",
+ dataIndex: 'dvb_eit_enable',
+ width: 45
+ });
+
+ {
+ header: "EIT",
+ dataIndex: 'dvb_eit_enable',
+ width: 45,
+ editor: new fm.Checkbox({
+ fieldLabel: 'EIT',
+ name: 'eit',
+ })
+ },*/
{
header: "Type",
dataIndex: 'type',
var store = new Ext.data.JsonStore({
root: 'entries',
fields: Ext.data.Record.create([
- 'id', 'enabled', 'type', 'sid', 'pmt', 'pcr',
- 'svcname', 'network', 'provider', 'mux', 'channelname', 'dvb_default_charset'
+ 'id', 'enabled', 'type', 'sid', 'pmt', 'pcr', 'svcname', 'network',
+ 'provider', 'mux', 'channelname', 'dvb_default_charset', 'dvb_eit_enable'
]),
url: "dvb/services/" + adapterId,
autoLoad: true,