DVR_COMPLETED, /* If recording failed, de->de_error is set to
a string */
DVR_NOSTATE,
+ DVR_MISSED_TIME,
} dvr_entry_sched_state_t;
return streaming_code2txt(de->de_last_error);
else
return "Completed OK";
-
+
+ case DVR_MISSED_TIME:
+ return "Time missed";
+
default:
return "Invalid";
}
return "completedError";
else
return "completed";
+ case DVR_MISSED_TIME:
+ return "completedError";
default:
return "unknown";
}
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);
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;
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);