From 798b4814b4853bca46062aa7d6a3f8fe4b620df6 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Sat, 31 Oct 2015 22:33:02 +0100 Subject: [PATCH] channel: implement 'Use EPG Running State' --- src/channels.c | 8 ++++++++ src/channels.h | 1 + src/dvr/dvr_db.c | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/channels.c b/src/channels.c index ef38463f6..9ffd20bc9 100644 --- a/src/channels.c +++ b/src/channels.c @@ -410,6 +410,13 @@ const idclass_t channel_class = { .off = offsetof(channel_t, ch_dvr_extra_time_post), .opts = PO_ADVANCED }, + { + .type = PT_BOOL, + .id = "epg_running", + .name = N_("Use EPG Running State"), + .off = offsetof(channel_t, ch_epg_running), + .opts = PO_ADVANCED + }, { .type = PT_STR, .islist = 1, @@ -838,6 +845,7 @@ channel_create0 ch->ch_enabled = 1; ch->ch_autoname = 1; ch->ch_epgauto = 1; + ch->ch_epg_running = 1; if (conf) { ch->ch_load = 1; diff --git a/src/channels.h b/src/channels.h index 49607d776..71f93c9d3 100644 --- a/src/channels.h +++ b/src/channels.h @@ -77,6 +77,7 @@ typedef struct channel /* DVR */ int ch_dvr_extra_time_pre; int ch_dvr_extra_time_post; + int ch_epg_running; struct dvr_entry_list ch_dvrs; struct dvr_autorec_entry_list ch_autorecs; struct dvr_timerec_entry_list ch_timerecs; diff --git a/src/dvr/dvr_db.c b/src/dvr/dvr_db.c index ac255079f..f49f12de5 100644 --- a/src/dvr/dvr_db.c +++ b/src/dvr/dvr_db.c @@ -1582,7 +1582,7 @@ void dvr_event_running(epg_broadcast_t *e, epg_source_t esrc, int running) de = dvr_entry_find_by_event(e); if (de == NULL) return; - if (!de->de_config->dvr_running) { + if (!de->de_channel->ch_epg_running || !de->de_config->dvr_running) { de->de_running_start = de->de_running_stop = 0; return; } -- 2.47.3