[fix] use correct start/stop times
This commit is contained in:
parent
b7a45dfaee
commit
d7b7f72845
5 changed files with 14 additions and 12 deletions
|
@ -315,6 +315,10 @@ int dvr_entry_get_mc(dvr_entry_t *de);
|
||||||
|
|
||||||
int dvr_entry_get_retention( dvr_entry_t *de );
|
int dvr_entry_get_retention( dvr_entry_t *de );
|
||||||
|
|
||||||
|
int dvr_entry_get_start_time( dvr_entry_t *de );
|
||||||
|
|
||||||
|
int dvr_entry_get_stop_time( dvr_entry_t *de );
|
||||||
|
|
||||||
int dvr_entry_get_extra_time_post( dvr_entry_t *de );
|
int dvr_entry_get_extra_time_post( dvr_entry_t *de );
|
||||||
|
|
||||||
int dvr_entry_get_extra_time_pre( dvr_entry_t *de );
|
int dvr_entry_get_extra_time_pre( dvr_entry_t *de );
|
||||||
|
|
|
@ -56,14 +56,14 @@ static inline int extra_valid(time_t extra)
|
||||||
return extra != 0 && extra != (time_t)-1;
|
return extra != 0 && extra != (time_t)-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
int
|
||||||
dvr_entry_get_start_time( dvr_entry_t *de )
|
dvr_entry_get_start_time( dvr_entry_t *de )
|
||||||
{
|
{
|
||||||
/* Note 30 seconds might not be enough (rotors) */
|
/* Note 30 seconds might not be enough (rotors) */
|
||||||
return de->de_start - (60 * dvr_entry_get_extra_time_pre(de)) - 30;
|
return de->de_start - (60 * dvr_entry_get_extra_time_pre(de)) - 30;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
int
|
||||||
dvr_entry_get_stop_time( dvr_entry_t *de )
|
dvr_entry_get_stop_time( dvr_entry_t *de )
|
||||||
{
|
{
|
||||||
return de->de_stop + (60 * dvr_entry_get_extra_time_post(de));
|
return de->de_stop + (60 * dvr_entry_get_extra_time_post(de));
|
||||||
|
|
|
@ -85,7 +85,7 @@ dvr_rec_subscribe(dvr_entry_t *de)
|
||||||
streaming_queue_init(&de->de_sq, 0);
|
streaming_queue_init(&de->de_sq, 0);
|
||||||
de->de_gh = globalheaders_create(&de->de_sq.sq_st);
|
de->de_gh = globalheaders_create(&de->de_sq.sq_st);
|
||||||
st = de->de_tsfix = tsfix_create(de->de_gh);
|
st = de->de_tsfix = tsfix_create(de->de_gh);
|
||||||
tsfix_set_start_time(de->de_tsfix, de->de_start - (60 * de->de_start_extra));
|
tsfix_set_start_time(de->de_tsfix, dvr_entry_get_start_time(de));
|
||||||
flags = 0;
|
flags = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -634,8 +634,8 @@ dvr_spawn_postproc(dvr_entry_t *de, const char *dvr_postproc)
|
||||||
}
|
}
|
||||||
|
|
||||||
fbasename = tvh_strdupa(de->de_filename);
|
fbasename = tvh_strdupa(de->de_filename);
|
||||||
snprintf(start, sizeof(start), "%"PRItime_t, de->de_start - (60 * de->de_start_extra));
|
snprintf(start, sizeof(start), "%"PRItime_t, (time_t)dvr_entry_get_start_time(de));
|
||||||
snprintf(stop, sizeof(stop), "%"PRItime_t, de->de_stop + (60 * de->de_stop_extra));
|
snprintf(stop, sizeof(stop), "%"PRItime_t, (time_t)dvr_entry_get_stop_time(de));
|
||||||
|
|
||||||
memset(fmap, 0, sizeof(fmap));
|
memset(fmap, 0, sizeof(fmap));
|
||||||
fmap['f'] = de->de_filename; /* full path to recoding */
|
fmap['f'] = de->de_filename; /* full path to recoding */
|
||||||
|
|
|
@ -412,7 +412,7 @@ page_status(http_connection_t *hc,
|
||||||
|
|
||||||
if (DVR_SCHEDULED == de->de_sched_state)
|
if (DVR_SCHEDULED == de->de_sched_state)
|
||||||
{
|
{
|
||||||
timelefttemp = (int) ((de->de_start - now) / 60) - de->de_start_extra; // output minutes
|
timelefttemp = (int) ((dvr_entry_get_start_time(de) - now) / 60); // output minutes
|
||||||
if (timelefttemp < timeleft)
|
if (timelefttemp < timeleft)
|
||||||
timeleft = timelefttemp;
|
timeleft = timelefttemp;
|
||||||
}
|
}
|
||||||
|
@ -440,11 +440,11 @@ page_status(http_connection_t *hc,
|
||||||
a.tm_year + 1900, a.tm_mon + 1, a.tm_mday,
|
a.tm_year + 1900, a.tm_mon + 1, a.tm_mday,
|
||||||
a.tm_hour, a.tm_min,
|
a.tm_hour, a.tm_min,
|
||||||
de->de_start,
|
de->de_start,
|
||||||
de->de_start_extra,
|
(time_t)dvr_entry_get_extra_time_pre(de),
|
||||||
b.tm_year+1900, b.tm_mon + 1, b.tm_mday,
|
b.tm_year+1900, b.tm_mon + 1, b.tm_mday,
|
||||||
b.tm_hour, b.tm_min,
|
b.tm_hour, b.tm_min,
|
||||||
de->de_stop,
|
de->de_stop,
|
||||||
de->de_stop_extra,
|
(time_t)dvr_entry_get_extra_time_post(de),
|
||||||
buf);
|
buf);
|
||||||
|
|
||||||
rstatus = val2str(de->de_sched_state, recstatustxt);
|
rstatus = val2str(de->de_sched_state, recstatustxt);
|
||||||
|
|
|
@ -612,8 +612,7 @@ http_dvr_list_playlist(http_connection_t *hc)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
||||||
durration = de->de_stop - de->de_start;
|
durration = dvr_entry_get_stop_time(de) - dvr_entry_get_start_time(de);
|
||||||
durration += (de->de_stop_extra + de->de_start_extra)*60;
|
|
||||||
bandwidth = ((8*fsize) / (durration*1024.0));
|
bandwidth = ((8*fsize) / (durration*1024.0));
|
||||||
strftime(buf, sizeof(buf), "%FT%T%z", localtime_r(&(de->de_start), &tm));
|
strftime(buf, sizeof(buf), "%FT%T%z", localtime_r(&(de->de_start), &tm));
|
||||||
|
|
||||||
|
@ -649,8 +648,7 @@ http_dvr_playlist(http_connection_t *hc, dvr_entry_t *de)
|
||||||
struct tm tm;
|
struct tm tm;
|
||||||
const char *host = http_arg_get(&hc->hc_args, "Host");
|
const char *host = http_arg_get(&hc->hc_args, "Host");
|
||||||
|
|
||||||
durration = de->de_stop - de->de_start;
|
durration = dvr_entry_get_stop_time(de) - dvr_entry_get_start_time(de);
|
||||||
durration += (de->de_stop_extra + de->de_start_extra)*60;
|
|
||||||
|
|
||||||
fsize = dvr_get_filesize(de);
|
fsize = dvr_get_filesize(de);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue