From: Jaroslav Kysela Date: Mon, 8 Feb 2016 17:13:15 +0000 (+0100) Subject: picons: add picon scheme (force service type to 1), fixes #3555 X-Git-Tag: v4.2.1~1055 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f5b237c3e63e713847108bfc80a49bef6a1ca31a;p=thirdparty%2Ftvheadend.git picons: add picon scheme (force service type to 1), fixes #3555 --- diff --git a/src/config.c b/src/config.c index 4487060e6..cffbf3453 100644 --- a/src/config.c +++ b/src/config.c @@ -1923,6 +1923,16 @@ config_class_chiconscheme_list ( void *o, const char *lang ) return strtab2htsmsg(tab, 1, lang); } +static htsmsg_t * +config_class_piconscheme_list ( void *o, const char *lang ) +{ + static const struct strtab tab[] = { + { N_("Standard"), PICON_STANDARD }, + { N_("Force service type to 1"), PICON_ISVCTYPE }, + }; + return strtab2htsmsg(tab, 1, lang); +} + const idclass_t config_class = { .ic_snode = &config.idnode, .ic_class = "config", @@ -2217,6 +2227,17 @@ const idclass_t config_class = { .opts = PO_ADVANCED, .group = 6, }, + { + .type = PT_INT, + .id = "piconscheme", + .name = N_("Picon name scheme"), + .desc = N_("Select scheme to generate the picon names " + "(standard, force service type to 1)"), + .list = config_class_piconscheme_list, + .off = offsetof(config_t, picon_scheme), + .opts = PO_ADVANCED, + .group = 6, + }, { .type = PT_STR, .id = "wizard", diff --git a/src/config.h b/src/config.h index 6d2f74cbd..306777c0d 100644 --- a/src/config.h +++ b/src/config.h @@ -44,6 +44,7 @@ typedef struct config { char *chicon_path; int chicon_scheme; char *picon_path; + int picon_scheme; int tvhtime_update_enabled; int tvhtime_ntp_enabled; uint32_t tvhtime_tolerance; diff --git a/src/input/mpegts/mpegts_service.c b/src/input/mpegts/mpegts_service.c index a37ad4ad1..8cc75a0c4 100644 --- a/src/input/mpegts/mpegts_service.c +++ b/src/input/mpegts/mpegts_service.c @@ -570,7 +570,7 @@ mpegts_service_channel_icon ( service_t *s ) snprintf(prop_sbuf, PROP_SBUF_LEN, "picon://1_0_%X_%X_%X_%X_%X_0_0_0.png", - ms->s_dvb_servicetype, + config.picon_scheme == PICON_ISVCTYPE ? 1 : ms->s_dvb_servicetype, ms->s_dvb_service_id, ms->s_dvb_mux->mm_tsid, ms->s_dvb_mux->mm_onid, diff --git a/src/tvheadend.h b/src/tvheadend.h index 89cd2fb5c..f69f6f7c7 100644 --- a/src/tvheadend.h +++ b/src/tvheadend.h @@ -138,6 +138,12 @@ typedef enum { #define CHICON_LOWERCASE 1 #define CHICON_SVCNAME 2 +/* + * + */ +#define PICON_STANDARD 0 +#define PICON_ISVCTYPE 1 + /* * global timer */