Add a checkbox for enabling/disabling grabbing.
This commit is contained in:
parent
c994aa991b
commit
1b694820ec
4 changed files with 32 additions and 2 deletions
|
@ -795,6 +795,7 @@ extjs_xmltv(http_connection_t *hc, const char *remain, void *opaque)
|
|||
htsmsg_add_str(r, "grabber", s);
|
||||
|
||||
htsmsg_add_u32(r, "grabinterval", xmltv_grab_interval);
|
||||
htsmsg_add_u32(r, "grabenable", xmltv_grab_enabled);
|
||||
pthread_mutex_unlock(&xmltv_mutex);
|
||||
|
||||
out = json_single_record(r, "xmltvSettings");
|
||||
|
@ -809,6 +810,9 @@ extjs_xmltv(http_connection_t *hc, const char *remain, void *opaque)
|
|||
s = http_arg_get(&hc->hc_req_args, "grabinterval");
|
||||
xmltv_set_grab_interval(atoi(s));
|
||||
|
||||
s = http_arg_get(&hc->hc_req_args, "grabenable");
|
||||
xmltv_set_grab_enable(!!s);
|
||||
|
||||
pthread_mutex_unlock(&xmltv_mutex);
|
||||
|
||||
out = htsmsg_create();
|
||||
|
|
|
@ -79,7 +79,7 @@ tvheadend.xmltv = function() {
|
|||
|
||||
var confreader = new Ext.data.JsonReader({
|
||||
root: 'xmltvSettings',
|
||||
}, ['grabber','grabinterval']);
|
||||
}, ['grabber','grabinterval','grabenable']);
|
||||
|
||||
var grabberSelect = new Ext.form.ComboBox({
|
||||
loadingText: 'Loading, please wait...',
|
||||
|
@ -115,6 +115,9 @@ tvheadend.xmltv = function() {
|
|||
maxValue: 100,
|
||||
fieldLabel: 'Grab interval (hours)',
|
||||
name: 'grabinterval'
|
||||
}), new Ext.form.Checkbox({
|
||||
fieldLabel: 'Enable grabbing',
|
||||
name: 'grabenable'
|
||||
})
|
||||
],
|
||||
tbar: [{
|
||||
|
|
23
xmltv.c
23
xmltv.c
|
@ -63,6 +63,7 @@ static xmltv_grabber_t *xg_current;
|
|||
|
||||
|
||||
uint32_t xmltv_grab_interval;
|
||||
uint32_t xmltv_grab_enabled;
|
||||
|
||||
/* xmltv_channels is protected by global_lock */
|
||||
static struct xmltv_channel_tree xmltv_channels;
|
||||
|
@ -473,7 +474,7 @@ xmltv_thread(void *aux)
|
|||
|
||||
while(confver == xmltv_confver) {
|
||||
|
||||
if(xg_current == NULL) {
|
||||
if(xg_current == NULL || !xmltv_grab_enabled) {
|
||||
pthread_cond_wait(&xmltv_cond, &xmltv_mutex);
|
||||
continue;
|
||||
}
|
||||
|
@ -481,6 +482,9 @@ xmltv_thread(void *aux)
|
|||
break;
|
||||
}
|
||||
|
||||
if(xmltv_grab_enabled == 0)
|
||||
continue;
|
||||
|
||||
ts.tv_sec = time(NULL) + xmltv_grab_interval * 3600;
|
||||
|
||||
confver = xmltv_confver;
|
||||
|
@ -512,6 +516,7 @@ xmltv_init(void)
|
|||
{
|
||||
pthread_t ptid;
|
||||
xmltv_grab_interval = 12; /* Default half a day */
|
||||
xmltv_grab_enabled = 1; /* Default on */
|
||||
|
||||
/* Load all channels */
|
||||
xmltv_load();
|
||||
|
@ -735,6 +740,7 @@ xmltv_grabbers_load(void)
|
|||
return;
|
||||
|
||||
htsmsg_get_u32(m, "grab-interval", &xmltv_grab_interval);
|
||||
htsmsg_get_u32(m, "grab-enabled", &xmltv_grab_enabled);
|
||||
|
||||
if((l = htsmsg_get_array(m, "grabbers")) != NULL) {
|
||||
|
||||
|
@ -794,6 +800,7 @@ xmltv_grabbers_save(void)
|
|||
htsmsg_add_msg(m, "grabbers", array);
|
||||
|
||||
htsmsg_add_u32(m, "grab-interval", xmltv_grab_interval);
|
||||
htsmsg_add_u32(m, "grab-enabled", xmltv_grab_enabled);
|
||||
if(xg_current != NULL)
|
||||
htsmsg_add_str(m, "current-grabber", xg_current->xg_path);
|
||||
|
||||
|
@ -885,3 +892,17 @@ xmltv_set_grab_interval(int s)
|
|||
xmltv_grabbers_save();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
void
|
||||
xmltv_set_grab_enable(int on)
|
||||
{
|
||||
lock_assert(&xmltv_mutex);
|
||||
|
||||
xmltv_grab_enabled = on;
|
||||
xmltv_confver++;
|
||||
pthread_cond_signal(&xmltv_cond);
|
||||
xmltv_grabbers_save();
|
||||
}
|
||||
|
|
2
xmltv.h
2
xmltv.h
|
@ -51,9 +51,11 @@ htsmsg_t *xmltv_list_grabbers(void);
|
|||
const char *xmltv_get_current_grabber(void);
|
||||
void xmltv_set_current_grabber(const char *path);
|
||||
void xmltv_set_grab_interval(int s);
|
||||
void xmltv_set_grab_enable(int on);
|
||||
|
||||
extern struct xmltv_channel_list xmltv_displaylist;
|
||||
extern uint32_t xmltv_grab_interval;
|
||||
extern uint32_t xmltv_grab_enabled;
|
||||
extern pthread_mutex_t xmltv_mutex;
|
||||
|
||||
#endif /* EPG_XMLTV_H__ */
|
||||
|
|
Loading…
Add table
Reference in a new issue