From: Jaroslav Kysela Date: Mon, 14 Mar 2016 16:16:00 +0000 (+0100) Subject: DVR: When data errors crosses a threshold (10000) mark recordings as invalid, fixes... X-Git-Tag: v4.2.1~867 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ae6c645237fac521378729ff4f1268378e539b1a;p=thirdparty%2Ftvheadend.git DVR: When data errors crosses a threshold (10000) mark recordings as invalid, fixes #3629 --- diff --git a/src/api/api_dvr.c b/src/api/api_dvr.c index a0b8f3c67..8b8c94ad5 100644 --- a/src/api/api_dvr.c +++ b/src/api/api_dvr.c @@ -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) diff --git a/src/dvr/dvr.h b/src/dvr/dvr.h index 437375540..627b3c106 100644 --- a/src/dvr/dvr.h +++ b/src/dvr/dvr.h @@ -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) diff --git a/src/dvr/dvr_db.c b/src/dvr/dvr_db.c index e6453b629..84b1397b1 100644 --- a/src/dvr/dvr_db.c +++ b/src/dvr/dvr_db.c @@ -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)