DVR: Cache the default dvr config, argument cleanups
This commit is contained in:
parent
99152b547a
commit
1a081469cc
5 changed files with 25 additions and 20 deletions
|
@ -176,7 +176,7 @@ dvr_autorec_create(const char *uuid, htsmsg_t *conf)
|
|||
dae->dae_weekdays = 0x7f;
|
||||
dae->dae_pri = DVR_PRIO_NORMAL;
|
||||
dae->dae_start = -1;
|
||||
dae->dae_config = dvr_config_find_by_name_default("");
|
||||
dae->dae_config = dvr_config_find_by_name_default(NULL);
|
||||
LIST_INSERT_HEAD(&dae->dae_config->dvr_autorec_entries, dae, dae_config_link);
|
||||
|
||||
TAILQ_INSERT_TAIL(&autorec_entries, dae, dae_link);
|
||||
|
@ -1072,7 +1072,7 @@ autorec_destroy_by_config(dvr_config_t *kcfg, int delconf)
|
|||
while((dae = LIST_FIRST(&kcfg->dvr_autorec_entries)) != NULL) {
|
||||
LIST_REMOVE(dae, dae_config_link);
|
||||
if (cfg == NULL && delconf)
|
||||
cfg = dvr_config_find_by_name_default("");
|
||||
cfg = dvr_config_find_by_name_default(NULL);
|
||||
if (cfg)
|
||||
LIST_INSERT_HEAD(&cfg->dvr_autorec_entries, dae, dae_config_link);
|
||||
dae->dae_config = cfg;
|
||||
|
|
|
@ -37,6 +37,7 @@ int dvr_iov_max;
|
|||
|
||||
struct dvr_config_list dvrconfigs;
|
||||
struct dvr_entry_list dvrentries;
|
||||
static dvr_config_t *dvrdefaultconfig = NULL;
|
||||
|
||||
#if ENABLE_DBUS_1
|
||||
static gtimer_t dvr_dbus_timer;
|
||||
|
@ -417,7 +418,7 @@ dvr_entry_create(const char *uuid, htsmsg_t *conf)
|
|||
}
|
||||
|
||||
de->de_mc = -1;
|
||||
de->de_config = dvr_config_find_by_name_default("");
|
||||
de->de_config = dvr_config_find_by_name_default(NULL);
|
||||
if (de->de_config)
|
||||
LIST_INSERT_HEAD(&de->de_config->dvr_entries, de, de_config_link);
|
||||
|
||||
|
@ -709,7 +710,7 @@ dvr_entry_destroy_by_config(dvr_config_t *cfg, int delconf)
|
|||
while ((de = LIST_FIRST(&cfg->dvr_entries)) != NULL) {
|
||||
LIST_REMOVE(de, de_config_link);
|
||||
if (def == NULL && delconf)
|
||||
def = dvr_config_find_by_name_default("");
|
||||
def = dvr_config_find_by_name_default(NULL);
|
||||
de->de_config = def;
|
||||
if (def)
|
||||
LIST_INSERT_HEAD(&def->dvr_entries, de, de_config_link);
|
||||
|
@ -2000,20 +2001,24 @@ dvr_config_find_by_name_default(const char *name)
|
|||
{
|
||||
dvr_config_t *cfg;
|
||||
|
||||
cfg = dvr_config_find_by_name(name);
|
||||
if (dvrdefaultconfig && (name == NULL || *name == '\0'))
|
||||
return dvrdefaultconfig;
|
||||
|
||||
cfg = name ? dvr_config_find_by_name(name) : NULL;
|
||||
|
||||
if (cfg == NULL) {
|
||||
if (name && name[0])
|
||||
tvhlog(LOG_WARNING, "dvr", "Configuration '%s' not found", name);
|
||||
cfg = dvr_config_find_by_name("");
|
||||
if (name && *name)
|
||||
tvhlog(LOG_WARNING, "dvr", "Configuration '%s' not found, using default", name);
|
||||
cfg = dvrdefaultconfig;
|
||||
} else if (!cfg->dvr_enabled) {
|
||||
tvhlog(LOG_WARNING, "dvr", "Configuration '%s' not enabled", name);
|
||||
cfg = dvr_config_find_by_name("");
|
||||
tvhlog(LOG_WARNING, "dvr", "Configuration '%s' not enabled, using default", name);
|
||||
cfg = dvrdefaultconfig;
|
||||
}
|
||||
|
||||
if (cfg == NULL) {
|
||||
cfg = dvr_config_create("", NULL, NULL);
|
||||
dvr_config_save(cfg);
|
||||
dvrdefaultconfig = cfg;
|
||||
}
|
||||
|
||||
return cfg;
|
||||
|
@ -2762,7 +2767,7 @@ dvr_config_init(void)
|
|||
|
||||
/* Create the default entry */
|
||||
|
||||
cfg = dvr_config_find_by_name_default("");
|
||||
cfg = dvr_config_find_by_name_default(NULL);
|
||||
assert(cfg);
|
||||
|
||||
LIST_FOREACH(cfg, &dvrconfigs, config_link) {
|
||||
|
|
|
@ -187,7 +187,7 @@ dvr_timerec_create(const char *uuid, htsmsg_t *conf)
|
|||
dte->dte_pri = DVR_PRIO_NORMAL;
|
||||
dte->dte_start = -1;
|
||||
dte->dte_stop = -1;
|
||||
dte->dte_config = dvr_config_find_by_name_default("");
|
||||
dte->dte_config = dvr_config_find_by_name_default(NULL);
|
||||
LIST_INSERT_HEAD(&dte->dte_config->dvr_timerec_entries, dte, dte_config_link);
|
||||
|
||||
TAILQ_INSERT_TAIL(&timerec_entries, dte, dte_link);
|
||||
|
@ -638,7 +638,7 @@ timerec_destroy_by_config(dvr_config_t *kcfg, int delconf)
|
|||
while((dte = LIST_FIRST(&kcfg->dvr_timerec_entries)) != NULL) {
|
||||
LIST_REMOVE(dte, dte_config_link);
|
||||
if (cfg == NULL && delconf)
|
||||
cfg = dvr_config_find_by_name_default("");
|
||||
cfg = dvr_config_find_by_name_default(NULL);
|
||||
if (cfg)
|
||||
LIST_INSERT_HEAD(&cfg->dvr_timerec_entries, dte, dte_config_link);
|
||||
dte->dte_config = cfg;
|
||||
|
|
|
@ -914,7 +914,7 @@ htsp_method_getDiskSpace(htsp_connection_t *htsp, htsmsg_t *in)
|
|||
{
|
||||
htsmsg_t *out;
|
||||
struct statvfs diskdata;
|
||||
dvr_config_t *cfg = dvr_config_find_by_name_default("");
|
||||
dvr_config_t *cfg = dvr_config_find_by_name_default(NULL);
|
||||
|
||||
if(statvfs(cfg->dvr_storage,&diskdata) == -1)
|
||||
return htsp_error("Unable to stat path");
|
||||
|
|
|
@ -403,7 +403,7 @@ http_channel_playlist(http_connection_t *hc, channel_t *channel)
|
|||
|
||||
mc = muxer_container_txt2type(http_arg_get(&hc->hc_req_args, "mux"));
|
||||
if(mc == MC_UNKNOWN)
|
||||
mc = dvr_config_find_by_name_default("")->dvr_mc;
|
||||
mc = dvr_config_find_by_name_default(NULL)->dvr_mc;
|
||||
|
||||
hq = &hc->hc_reply;
|
||||
host = http_arg_get(&hc->hc_args, "Host");
|
||||
|
@ -460,7 +460,7 @@ http_tag_playlist(http_connection_t *hc, channel_tag_t *tag)
|
|||
|
||||
mc = muxer_container_txt2type(http_arg_get(&hc->hc_req_args, "mux"));
|
||||
if(mc == MC_UNKNOWN)
|
||||
mc = dvr_config_find_by_name_default("")->dvr_mc;
|
||||
mc = dvr_config_find_by_name_default(NULL)->dvr_mc;
|
||||
|
||||
htsbuf_qprintf(hq, "#EXTM3U\n");
|
||||
LIST_FOREACH(ctm, &tag->ct_ctms, ctm_tag_link) {
|
||||
|
@ -496,7 +496,7 @@ http_tag_list_playlist(http_connection_t *hc)
|
|||
|
||||
mc = muxer_container_txt2type(http_arg_get(&hc->hc_req_args, "mux"));
|
||||
if(mc == MC_UNKNOWN)
|
||||
mc = dvr_config_find_by_name_default("")->dvr_mc;
|
||||
mc = dvr_config_find_by_name_default(NULL)->dvr_mc;
|
||||
|
||||
htsbuf_qprintf(hq, "#EXTM3U\n");
|
||||
TAILQ_FOREACH(ct, &channel_tags, ct_link) {
|
||||
|
@ -545,7 +545,7 @@ http_channel_list_playlist(http_connection_t *hc)
|
|||
|
||||
mc = muxer_container_txt2type(http_arg_get(&hc->hc_req_args, "mux"));
|
||||
if(mc == MC_UNKNOWN)
|
||||
mc = dvr_config_find_by_name_default("")->dvr_mc;
|
||||
mc = dvr_config_find_by_name_default(NULL)->dvr_mc;
|
||||
|
||||
CHANNEL_FOREACH(ch)
|
||||
count++;
|
||||
|
@ -768,7 +768,7 @@ http_stream_service(http_connection_t *hc, service_t *service, int weight)
|
|||
if(http_access_verify(hc, ACCESS_ADVANCED_STREAMING))
|
||||
return HTTP_STATUS_UNAUTHORIZED;
|
||||
|
||||
cfg = dvr_config_find_by_name_default("");
|
||||
cfg = dvr_config_find_by_name_default(NULL);
|
||||
|
||||
/* Build muxer config - this takes the defaults from the default dvr config, which is a hack */
|
||||
mc = muxer_container_txt2type(http_arg_get(&hc->hc_req_args, "mux"));
|
||||
|
@ -886,7 +886,7 @@ http_stream_channel(http_connection_t *hc, channel_t *ch, int weight)
|
|||
if (http_access_verify_channel(hc, ACCESS_STREAMING, ch, 1))
|
||||
return HTTP_STATUS_UNAUTHORIZED;
|
||||
|
||||
cfg = dvr_config_find_by_name_default("");
|
||||
cfg = dvr_config_find_by_name_default(NULL);
|
||||
|
||||
/* Build muxer config - this takes the defaults from the default dvr config, which is a hack */
|
||||
mc = muxer_container_txt2type(http_arg_get(&hc->hc_req_args, "mux"));
|
||||
|
|
Loading…
Add table
Reference in a new issue