]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
autorec: check max count when the autorec entry is saved, fixes #3434
authorJaroslav Kysela <perex@perex.cz>
Sat, 26 Dec 2015 22:44:42 +0000 (23:44 +0100)
committerJaroslav Kysela <perex@perex.cz>
Sat, 26 Dec 2015 22:44:42 +0000 (23:44 +0100)
src/dvr/dvr.h
src/dvr/dvr_autorec.c
src/dvr/dvr_db.c

index 23f27e22646612a892735ab47ff055c52a13ddae..5fa498130f1c67607c1515ada52ca8c80e34491a 100644 (file)
@@ -672,7 +672,7 @@ int dvr_autorec_get_extra_time_post( dvr_autorec_entry_t *dae );
 
 int dvr_autorec_get_extra_time_pre( dvr_autorec_entry_t *dae );
 
-void dvr_autorec_completed( dvr_entry_t *de, int error_code );
+void dvr_autorec_completed( dvr_autorec_entry_t *dae, int error_code );
 
 uint32_t dvr_autorec_get_max_sched_count(dvr_autorec_entry_t *dae);
 
index 0d75ef0a49490642bd332a4766e2cf5146a21790..4eee27be03176147bc3848d53fcca37ea2bdd7b4 100644 (file)
@@ -98,11 +98,10 @@ dvr_autorec_purge_spawns(dvr_autorec_entry_t *dae, int del, int disabled)
  * Handle maxcount
  */
 void
-dvr_autorec_completed(dvr_entry_t *de, int error_code)
+dvr_autorec_completed(dvr_autorec_entry_t *dae, int error_code)
 {
   uint32_t count, total = 0;
-  dvr_entry_t *de_prev;
-  dvr_autorec_entry_t *dae = de->de_autorec;
+  dvr_entry_t *de, *de_prev;
   uint32_t max_count = dvr_autorec_get_max_count(dae);
   char ubuf[UUID_HEX_SIZE];
 
@@ -427,6 +426,7 @@ dvr_autorec_entry_class_save(idnode_t *self)
   dvr_autorec_entry_t *dae = (dvr_autorec_entry_t *)self;
   dvr_autorec_save(dae);
   dvr_autorec_changed(dae, 1);
+  dvr_autorec_completed(dae, 0);
   htsp_autorec_entry_update(dae);
 }
 
index 1d219056c2891c7fa4c8699992ca22221530a322..2d6a2f26969b08f6d931e62c841f684cf2a02528 100644 (file)
@@ -458,7 +458,7 @@ dvr_entry_completed(dvr_entry_t *de, int error_code)
 #endif
   dvr_entry_retention_timer(de);
   if (de->de_autorec)
-    dvr_autorec_completed(de, error_code);
+    dvr_autorec_completed(de->de_autorec, error_code);
 }
 
 /**