[htsp] send actual pre/post times and retention

This commit is contained in:
Glenn-1990 2014-09-13 21:48:17 +02:00 committed by Jaroslav Kysela
parent 09acfa18f9
commit 8b5f858cce
3 changed files with 24 additions and 8 deletions

View file

@ -311,6 +311,10 @@ int dvr_entry_get_mc(dvr_entry_t *de);
int dvr_entry_get_retention( 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 );
void dvr_entry_save(dvr_entry_t *de);
const char *dvr_entry_status(dvr_entry_t *de);

View file

@ -58,6 +58,19 @@ static inline int extra_valid(time_t extra)
static int
dvr_entry_get_start_time( dvr_entry_t *de )
{
/* Note 30 seconds might not be enough (rotors) */
return de->de_start - (60 * dvr_entry_get_extra_time_pre(de)) - 30;
}
static int
dvr_entry_get_stop_time( dvr_entry_t *de )
{
return de->de_stop + (60 * dvr_entry_get_extra_time_post(de));
}
int
dvr_entry_get_extra_time_pre( dvr_entry_t *de )
{
time_t extra = de->de_start_extra;
@ -67,12 +80,11 @@ dvr_entry_get_start_time( dvr_entry_t *de )
if (!extra_valid(extra))
extra = de->de_config->dvr_extra_time_pre;
}
/* Note 30 seconds might not be enough (rotors) */
return de->de_start - (60 * extra) - 30;
return extra;
}
static int
dvr_entry_get_stop_time( dvr_entry_t *de )
int
dvr_entry_get_extra_time_post( dvr_entry_t *de )
{
time_t extra = de->de_stop_extra;
@ -82,7 +94,7 @@ dvr_entry_get_stop_time( dvr_entry_t *de )
if (!extra_valid(extra))
extra = de->de_config->dvr_extra_time_post;
}
return de->de_stop + (60 * extra);
return extra;
}
int

View file

@ -665,10 +665,10 @@ htsp_build_dvrentry(dvr_entry_t *de, const char *method)
htsmsg_add_s64(out, "start", de->de_start);
htsmsg_add_s64(out, "stop", de->de_stop);
htsmsg_add_s64(out, "startExtra", de->de_start_extra);
htsmsg_add_s64(out, "stopExtra", de->de_stop_extra);
htsmsg_add_s64(out, "startExtra", dvr_entry_get_extra_time_pre(de));
htsmsg_add_s64(out, "stopExtra", dvr_entry_get_extra_time_post(de));
htsmsg_add_u32(out, "retention", dvr_entry_get_retention(de));
htsmsg_add_u32(out, "priority", de->de_pri);
htsmsg_add_u32(out, "retention", de->de_retention);
htsmsg_add_u32(out, "contentType", de->de_content_type);
if( de->de_title && (s = lang_str_get(de->de_title, NULL)))