Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
also rerecord when a removed recording was failed
  • Loading branch information
Glenn-1990 authored and perexg committed Dec 20, 2016
1 parent d6bcb0b commit 5b3feaf
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 8 deletions.
2 changes: 1 addition & 1 deletion src/api/api_dvr.c
Expand Up @@ -115,7 +115,7 @@ api_dvr_entry_grid_removed
dvr_entry_t *de;

LIST_FOREACH(de, &dvrentries, de_global_link)
if (dvr_entry_is_finished(de, DVR_FINISHED_REMOVED))
if (dvr_entry_is_finished(de, DVR_FINISHED_REMOVED_SUCCESS | DVR_FINISHED_REMOVED_FAILED))
idnode_set_add(ins, (idnode_t*)de, &conf->filter, perm->aa_lang_ui);
}

Expand Down
9 changes: 5 additions & 4 deletions src/dvr/dvr.h
Expand Up @@ -33,10 +33,11 @@
#define DVR_FILESIZE_UPDATE (1<<0)
#define DVR_FILESIZE_TOTAL (1<<1)

#define DVR_FINISHED_ALL (1<<0)
#define DVR_FINISHED_SUCCESS (1<<1)
#define DVR_FINISHED_REMOVED (1<<2)
#define DVR_FINISHED_FAILED (1<<3)
#define DVR_FINISHED_ALL (1<<0)
#define DVR_FINISHED_SUCCESS (1<<1)
#define DVR_FINISHED_FAILED (1<<2)
#define DVR_FINISHED_REMOVED_SUCCESS (1<<3) /* Removed recording, was succesful before */
#define DVR_FINISHED_REMOVED_FAILED (1<<4) /* Removed recording, was failed before */

typedef struct dvr_vfs {
LIST_ENTRY(dvr_vfs) link;
Expand Down
8 changes: 5 additions & 3 deletions src/dvr/dvr_db.c
Expand Up @@ -142,7 +142,9 @@ int dvr_entry_is_finished(dvr_entry_t *entry, int flags)
int success = entry->de_sched_state == DVR_COMPLETED &&
!entry->de_last_error && entry->de_data_errors < DVR_MAX_DATA_ERRORS;

if ((flags & DVR_FINISHED_REMOVED) && removed)
if ((flags & DVR_FINISHED_REMOVED_SUCCESS) && removed && success)
return 1;
if ((flags & DVR_FINISHED_REMOVED_FAILED) && removed && !success)
return 1;
if ((flags & DVR_FINISHED_SUCCESS) && success && !removed)
return 1;
Expand Down Expand Up @@ -1332,7 +1334,7 @@ static dvr_entry_t *_dvr_duplicate_event(dvr_entry_t *de)
continue;

// only successful earlier recordings qualify as master
if (dvr_entry_is_finished(de2, DVR_FINISHED_FAILED))
if (dvr_entry_is_finished(de2, DVR_FINISHED_FAILED | DVR_FINISHED_REMOVED_FAILED))
continue;

// if titles are not defined or do not match, don't dedup
Expand Down Expand Up @@ -1363,7 +1365,7 @@ static dvr_entry_t *_dvr_duplicate_event(dvr_entry_t *de)
continue;

// only successful earlier recordings qualify as master
if (dvr_entry_is_finished(de2, DVR_FINISHED_FAILED))
if (dvr_entry_is_finished(de2, DVR_FINISHED_FAILED | DVR_FINISHED_REMOVED_FAILED))
continue;

// if titles are not defined or do not match, don't dedup
Expand Down

0 comments on commit 5b3feaf

Please sign in to comment.