return EINVAL;
pthread_mutex_lock(&global_lock);
- if ((cfg = dvr_config_create(NULL, NULL, conf)))
+ if ((cfg = dvr_config_create(NULL, NULL, conf))) {
idnode_changed(&cfg->dvr_id);
+ dvr_config_changed(cfg);
+ }
pthread_mutex_unlock(&global_lock);
return 0;
pthread_mutex_lock(&global_lock);
dte = dvr_timerec_create(NULL, conf);
- if (dte)
+ if (dte) {
idnode_changed(&dte->dte_id);
+ dvr_timerec_check(dte);
+ }
pthread_mutex_unlock(&global_lock);
return 0;
void dvr_config_delete(const char *name);
+void dvr_config_changed(dvr_config_t *cfg);
+
void dvr_config_destroy_by_profile(profile_t *pro, int delconf);
static inline uint32_t dvr_retention_cleanup(uint32_t val)
tvhwarn("dvr", "Attempt to delete default config ignored");
}
-/* **************************************************************************
- * DVR Config Class definition
- * **************************************************************************/
-
-static void
-dvr_config_class_changed(idnode_t *self)
+/**
+ *
+ */
+void
+dvr_config_changed(dvr_config_t *cfg)
{
- dvr_config_t *cfg = (dvr_config_t *)self;
if (dvr_config_is_default(cfg))
cfg->dvr_enabled = 1;
cfg->dvr_valid = 1;
cfg->dvr_retention_days = DVR_RET_FOREVER;
}
+
+/* **************************************************************************
+ * DVR Config Class definition
+ * **************************************************************************/
+
+static void
+dvr_config_class_changed(idnode_t *self)
+{
+ dvr_config_changed((dvr_config_t *)self);
+}
+
static htsmsg_t *
dvr_config_class_save(idnode_t *self, char *filename, size_t fsize)
{