diff --git a/src/dvr/dvr.h b/src/dvr/dvr.h index aa88fc6c..aa03df15 100644 --- a/src/dvr/dvr.h +++ b/src/dvr/dvr.h @@ -62,6 +62,7 @@ typedef enum { DVR_COMPLETED, /* If recording failed, de->de_error is set to a string */ DVR_NOSTATE, + DVR_MISSED_TIME, } dvr_entry_sched_state_t; diff --git a/src/dvr/dvr_db.c b/src/dvr/dvr_db.c index 3a8ec5c5..2ac67877 100644 --- a/src/dvr/dvr_db.c +++ b/src/dvr/dvr_db.c @@ -83,7 +83,10 @@ dvr_entry_status(dvr_entry_t *de) return streaming_code2txt(de->de_last_error); else return "Completed OK"; - + + case DVR_MISSED_TIME: + return "Time missed"; + default: return "Invalid"; } @@ -109,6 +112,8 @@ dvr_entry_schedstatus(dvr_entry_t *de) return "completedError"; else return "completed"; + case DVR_MISSED_TIME: + return "completedError"; default: return "unknown"; } @@ -209,7 +214,10 @@ dvr_entry_link(dvr_entry_t *de) preamble = de->de_start - (60 * de->de_start_extra) - 30; if(now >= de->de_stop || de->de_dont_reschedule) { - de->de_sched_state = DVR_COMPLETED; + if(de->de_filename == NULL) + de->de_sched_state = DVR_MISSED_TIME; + else + de->de_sched_state = DVR_COMPLETED; gtimer_arm_abs(&de->de_timer, dvr_timer_expire, de, de->de_stop + dvr_retention_days * 86400); diff --git a/src/htsp.c b/src/htsp.c index 0f3b18a1..71fb6e62 100644 --- a/src/htsp.c +++ b/src/htsp.c @@ -390,6 +390,9 @@ htsp_build_dvrentry(dvr_entry_t *de, const char *method) if(de->de_last_error) error = streaming_code2txt(de->de_last_error); break; + case DVR_MISSED_TIME: + s = "missed"; + break; case DVR_NOSTATE: s = "invalid"; break; @@ -510,6 +513,7 @@ htsp_method_addDvrEntry(htsp_connection_t *htsp, htsmsg_t *in) switch(dvr_status) { case DVR_SCHEDULED: case DVR_RECORDING: + case DVR_MISSED_TIME: case DVR_COMPLETED: htsmsg_add_u32(out, "id", de->de_id); htsmsg_add_u32(out, "success", 1); diff --git a/src/webui/simpleui.c b/src/webui/simpleui.c index b7d4358f..f2392c24 100644 --- a/src/webui/simpleui.c +++ b/src/webui/simpleui.c @@ -253,6 +253,7 @@ page_einfo(http_connection_t *hc, const char *remain, void *opaque) "name=\"rec\" value=\"Record\">"); break; + case DVR_MISSED_TIME: case DVR_COMPLETED: break; } @@ -329,6 +330,7 @@ page_pvrinfo(http_connection_t *hc, const char *remain, void *opaque) break; case DVR_COMPLETED: + case DVR_MISSED_TIME: case DVR_NOSTATE: break; }