]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
DVR: When data errors crosses a threshold (10000) mark recordings as invalid, fixes...
authorJaroslav Kysela <perex@perex.cz>
Mon, 14 Mar 2016 16:16:00 +0000 (17:16 +0100)
committerJaroslav Kysela <perex@perex.cz>
Mon, 14 Mar 2016 16:16:07 +0000 (17:16 +0100)
src/api/api_dvr.c
src/dvr/dvr.h
src/dvr/dvr_db.c

index a0b8f3c67f94532944004608ded01139e8ea4fa9..8b8c94ad51b0770d996258a3f4a3112d81911433 100644 (file)
@@ -66,7 +66,9 @@ api_dvr_config_create
 static int is_dvr_entry_finished(dvr_entry_t *entry)
 {
   dvr_entry_sched_state_t state = entry->de_sched_state;
-  return state == DVR_COMPLETED && !entry->de_last_error && dvr_get_filesize(entry, 0) != -1;
+  return state == DVR_COMPLETED && !entry->de_last_error &&
+         dvr_get_filesize(entry, 0) != -1 &&
+         entry->de_data_errors < DVR_MAX_DATA_ERRORS;
 }
 
 static int is_dvr_entry_upcoming(dvr_entry_t *entry)
index 4373755405aa0f47bd219c417347a8f5f72667a4..627b3c106ba5c8f7b4ead8cff7505bc53586a57f 100644 (file)
@@ -28,6 +28,8 @@
 #include "lang_str.h"
 #include "tvhvfs.h"
 
+#define DVR_MAX_DATA_ERRORS     (10000)
+
 #define DVR_FILESIZE_UPDATE     (1<<0)
 #define DVR_FILESIZE_TOTAL      (1<<1)
 
index e6453b62976cd1976c041345d03a243c0dc70b54..84b1397b12238e27f29b9bfcad5ea068ea2da88a 100644 (file)
@@ -509,6 +509,8 @@ dvr_entry_status(dvr_entry_t *de)
       default:
         break;
     }
+    if(de->de_data_errors >= DVR_MAX_DATA_ERRORS) /* user configurable threshold? */
+      return N_("Too many data errors");
     if(dvr_get_filesize(de, 0) == -1)
       return N_("File missing");
     if(de->de_last_error)