]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
DVR: allow to change stop time and stop_extra when the recording is active
authorJaroslav Kysela <perex@perex.cz>
Tue, 5 May 2015 17:50:05 +0000 (19:50 +0200)
committerJaroslav Kysela <perex@perex.cz>
Tue, 5 May 2015 17:50:05 +0000 (19:50 +0200)
src/dvr/dvr_db.c

index 8f6a4ff911ed31eef3ca1b90684f9b7921e4a783..e095e8dc68d1755f2ff6b6ec86a3dea458cc7ad9 100644 (file)
@@ -893,8 +893,21 @@ static dvr_entry_t *_dvr_entry_update
   char buf[40];
   int save = 0;
 
-  if (!dvr_entry_is_editable(de))
-    return de;
+  if (!dvr_entry_is_editable(de)) {
+    if (stop < dispatch_clock)
+      stop = dispatch_clock;
+    if (stop < de->de_start)
+      stop = de->de_start;
+    if (stop != de->de_stop) {
+      de->de_stop = stop;
+      save = 1;
+    }
+    if (stop_extra && (stop_extra != de->de_stop_extra)) {
+      de->de_stop_extra = stop_extra;
+      save = 1;
+    }
+    goto dosave;
+  }
 
   /* Start/Stop */
   if (e) {
@@ -976,6 +989,7 @@ static dvr_entry_t *_dvr_entry_update
   }
 
   /* Save changes */
+dosave:
   if (save) {
     idnode_changed(&de->de_id);
     htsp_dvr_entry_update(de);