char *dvr_postproc;
uint32_t dvr_extra_time_pre;
uint32_t dvr_extra_time_post;
+ uint32_t dvr_update_window;
int dvr_mc;
muxer_config_t dvr_muxcnf;
cfg->dvr_tag_files = 1;
cfg->dvr_skip_commercials = 1;
dvr_charset_update(cfg, intlconv_filesystem_charset());
+ cfg->dvr_update_window = 24 * 3600;
/* series link support */
cfg->dvr_sl_brand_lock = 1; // use brand linking
return strtab2htsmsg(tab);
}
+static htsmsg_t *
+dvr_config_entry_class_update_window_list(void *o)
+{
+ return dvr_entry_class_duration_list(o, "Update Disabled", 24*3600, 60);
+}
+
const idclass_t dvr_config_class = {
.ic_class = "dvrconfig",
.ic_caption = "DVR Configuration Profile",
.off = offsetof(dvr_config_t, dvr_episode_duplicate),
.group = 1,
},
+ {
+ .type = PT_U32,
+ .id = "epg-update-window",
+ .name = "EPG Update Window",
+ .off = offsetof(dvr_config_t, dvr_update_window),
+ .list = dvr_config_entry_class_update_window_list,
+ .def.u32 = 24*3600,
+ .group = 1,
+ },
{
.type = PT_STR,
.id = "postproc",
if ( abs(t2 - t1) > (t1 / 5) )
return 0;
- /* Outside of window (should it be configurable)? */
- if ( abs(e->start - de->de_start) > 86400 )
+ /* Outside of window */
+ if ( abs(e->start - de->de_start) > de->de_config->dvr_update_window )
return 0;
/* Title match (or contains?) */
htsmsg_add_str(e, "val", buf);
htsmsg_add_msg(l, NULL, e);
}
- for (i = 120; i <= max; i += 30) {
+ for (i = 120; i <= max; i += 30) {
if ((i % 60) == 0)
snprintf(buf, sizeof(buf), "%d hrs", i / 60);
else