Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
DVR: Add invalid target (file not created) to the status
  • Loading branch information
perexg committed May 28, 2015
1 parent 44ec30e commit c754208
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 4 deletions.
2 changes: 2 additions & 0 deletions src/dvr/dvr.h
Expand Up @@ -454,6 +454,8 @@ dvr_entry_update( dvr_entry_t *de,

void dvr_destroy_by_channel(channel_t *ch, int delconf);

void dvr_stop_recording(dvr_entry_t *de, int stopcode, int saveconf);

int dvr_rec_subscribe(dvr_entry_t *de);

void dvr_rec_unsubscribe(dvr_entry_t *de);
Expand Down
11 changes: 7 additions & 4 deletions src/dvr/dvr_db.c
Expand Up @@ -297,6 +297,8 @@ dvr_entry_status(dvr_entry_t *de)
}

case DVR_COMPLETED:
if(de->de_last_error == SM_CODE_INVALID_TARGET)
return "File Not Created";
if(dvr_get_filesize(de) == -1)
return "File Missing";
if(de->de_last_error)
Expand Down Expand Up @@ -1149,16 +1151,17 @@ void dvr_event_updated ( epg_broadcast_t *e )
/**
*
*/
static void
void
dvr_stop_recording(dvr_entry_t *de, int stopcode, int saveconf)
{
dvr_rs_state_t rec_state = de->de_rec_state;

dvr_rec_unsubscribe(de);

if (rec_state == DVR_RS_PENDING ||
rec_state == DVR_RS_WAIT_PROGRAM_START ||
htsmsg_is_empty(de->de_files))
if (stopcode != SM_CODE_INVALID_TARGET &&
(rec_state == DVR_RS_PENDING ||
rec_state == DVR_RS_WAIT_PROGRAM_START ||
htsmsg_is_empty(de->de_files)))
dvr_entry_missed_time(de, stopcode);
else
dvr_entry_completed(de, stopcode);
Expand Down
2 changes: 2 additions & 0 deletions src/dvr/dvr_rec.c
Expand Up @@ -931,6 +931,8 @@ dvr_thread(void *aux)
dvr_rec_set_state(de, DVR_RS_WAIT_PROGRAM_START, 0);
if(dvr_rec_start(de, sm->sm_data) == 0)
started = 1;
else
dvr_stop_recording(de, SM_CODE_INVALID_TARGET, 1);
pthread_mutex_unlock(&global_lock);
}
break;
Expand Down
2 changes: 2 additions & 0 deletions src/htsp_server.c
Expand Up @@ -3584,6 +3584,8 @@ _htsp_get_subscription_status(int smcode)
return "subscriptionOverridden";
case SM_CODE_MUX_NOT_ENABLED:
return "muxNotEnabled";
case SM_CODE_INVALID_TARGET:
return "invalidTarget";
default:
return streaming_code2txt(smcode);
}
Expand Down
2 changes: 2 additions & 0 deletions src/streaming.c
Expand Up @@ -412,6 +412,8 @@ streaming_code2txt(int code)
return "Source deleted";
case SM_CODE_SUBSCRIPTION_OVERRIDDEN:
return "Subscription overridden";
case SM_CODE_INVALID_TARGET:
return "Invalid target";

case SM_CODE_NO_FREE_ADAPTER:
return "No free adapter";
Expand Down
1 change: 1 addition & 0 deletions src/tvheadend.h
Expand Up @@ -448,6 +448,7 @@ typedef enum {
#define SM_CODE_BAD_SOURCE 101
#define SM_CODE_SOURCE_DELETED 102
#define SM_CODE_SUBSCRIPTION_OVERRIDDEN 103
#define SM_CODE_INVALID_TARGET 104

#define SM_CODE_NO_FREE_ADAPTER 200
#define SM_CODE_MUX_NOT_ENABLED 201
Expand Down

0 comments on commit c754208

Please sign in to comment.