Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
DVR: config/timerec - call changed routine after create, fixes #3666
  • Loading branch information
perexg committed Mar 30, 2016
1 parent 5539bb8 commit 45250ee
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 9 deletions.
8 changes: 6 additions & 2 deletions src/api/api_dvr.c
Expand Up @@ -56,8 +56,10 @@ api_dvr_config_create
return EINVAL;

pthread_mutex_lock(&global_lock);
if ((cfg = dvr_config_create(NULL, NULL, conf)))
if ((cfg = dvr_config_create(NULL, NULL, conf))) {
idnode_changed(&cfg->dvr_id);
dvr_config_changed(cfg);
}
pthread_mutex_unlock(&global_lock);

return 0;
Expand Down Expand Up @@ -468,8 +470,10 @@ api_dvr_timerec_create

pthread_mutex_lock(&global_lock);
dte = dvr_timerec_create(NULL, conf);
if (dte)
if (dte) {
idnode_changed(&dte->dte_id);
dvr_timerec_check(dte);
}
pthread_mutex_unlock(&global_lock);

return 0;
Expand Down
2 changes: 2 additions & 0 deletions src/dvr/dvr.h
Expand Up @@ -442,6 +442,8 @@ static inline dvr_config_t *dvr_config_find_by_uuid(const char *uuid)

void dvr_config_delete(const char *name);

void dvr_config_changed(dvr_config_t *cfg);

void dvr_config_destroy_by_profile(profile_t *pro, int delconf);

static inline uint32_t dvr_retention_cleanup(uint32_t val)
Expand Down
23 changes: 16 additions & 7 deletions src/dvr/dvr_config.c
Expand Up @@ -510,14 +510,12 @@ dvr_config_delete(const char *name)
tvhwarn("dvr", "Attempt to delete default config ignored");
}

/* **************************************************************************
* DVR Config Class definition
* **************************************************************************/

static void
dvr_config_class_changed(idnode_t *self)
/**
*
*/
void
dvr_config_changed(dvr_config_t *cfg)
{
dvr_config_t *cfg = (dvr_config_t *)self;
if (dvr_config_is_default(cfg))
cfg->dvr_enabled = 1;
cfg->dvr_valid = 1;
Expand All @@ -539,6 +537,17 @@ dvr_config_class_changed(idnode_t *self)
cfg->dvr_retention_days = DVR_RET_FOREVER;
}


/* **************************************************************************
* DVR Config Class definition
* **************************************************************************/

static void
dvr_config_class_changed(idnode_t *self)
{
dvr_config_changed((dvr_config_t *)self);
}

static htsmsg_t *
dvr_config_class_save(idnode_t *self, char *filename, size_t fsize)
{
Expand Down

0 comments on commit 45250ee

Please sign in to comment.