]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
DVR autorec: another inconsistency fixes (missing or extra schedules)
authorJaroslav Kysela <perex@perex.cz>
Wed, 2 Mar 2016 11:04:34 +0000 (12:04 +0100)
committerJaroslav Kysela <perex@perex.cz>
Wed, 2 Mar 2016 11:04:34 +0000 (12:04 +0100)
src/api/api_dvr.c
src/dvr/dvr_autorec.c
src/dvr/dvr_db.c

index 3e3d9d637ac3f7ff29492d697fe7cd462fe240b7..1ed2f633ae22e289545220b4eb1f4213777290d7 100644 (file)
@@ -382,8 +382,11 @@ api_dvr_autorec_create
   if (cfg) {
     htsmsg_set_str(conf, "config_name", idnode_uuid_as_str(&cfg->dvr_id, ubuf));
     dae = dvr_autorec_create(NULL, conf);
-    if (dae)
+    if (dae) {
       idnode_changed(&dae->dae_id);
+      dvr_autorec_changed(dae, 0);
+      dvr_autorec_completed(dae, 0);
+    }
   }
   pthread_mutex_unlock(&global_lock);
 
index 8765f83db42b029c69d2d28e2ae8310b25dc7cc1..747dd6039a6ab79345ae1ebbcfbfb68b1f97d888 100644 (file)
@@ -296,9 +296,6 @@ dvr_autorec_create(const char *uuid, htsmsg_t *conf)
 
   idnode_load(&dae->dae_id, conf);
 
-  dvr_autorec_changed(dae, 1);
-  dvr_autorec_completed(dae, 0);
-
   htsp_autorec_entry_add(dae);
 
   return dae;
@@ -1313,6 +1310,7 @@ dvr_autorec_update(void)
   dvr_autorec_entry_t *dae;
   TAILQ_FOREACH(dae, &autorec_entries, dae_link) {
     dvr_autorec_changed(dae, 0);
+    dvr_autorec_completed(dae, 0);
   }
 }
 
index 8139b929bf2fc9a2b246ffbb3a2bb4da5e9eae50..0c07eb13d87fbb1b31835bf7c3cc4f785b5ec767 100644 (file)
@@ -756,7 +756,7 @@ dvr_entry_create(const char *uuid, htsmsg_t *conf, int clone)
           lang_str_get(de->de_title, NULL), DVR_CH_NAME(de),
           (int64_t)de2->de_start, de->de_creator ?: "",
           idnode_uuid_as_str(&de2->de_id, ubuf));
-        dvr_entry_destroy(de, 0);
+        dvr_entry_destroy(de, 1);
         return NULL;
       }
   }