From: Glenn-1990 Date: Sun, 16 Oct 2016 19:13:10 +0000 (+0200) Subject: Fixed: UHD was not handled in tags and stream profiles X-Git-Tag: v4.2.1~263 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fd0dec049ce6093d7eb73ed7a83fd639c17e240a;p=thirdparty%2Ftvheadend.git Fixed: UHD was not handled in tags and stream profiles --- diff --git a/src/profile.c b/src/profile.c index 0cb2872c5..570443992 100644 --- a/src/profile.c +++ b/src/profile.c @@ -263,9 +263,10 @@ static htsmsg_t * profile_class_svfilter_list ( void *o, const char *lang ) { static const struct strtab tab[] = { - { N_("None"), PROFILE_SVF_NONE }, - { N_("SD: standard definition"), PROFILE_SVF_SD }, - { N_("HD: high definition"), PROFILE_SVF_HD }, + { N_("None"), PROFILE_SVF_NONE }, + { N_("SD: standard definition"), PROFILE_SVF_SD }, + { N_("HD: high definition"), PROFILE_SVF_HD }, + { N_("UHD: ultra high definition"), PROFILE_SVF_UHD }, }; return strtab2htsmsg(tab, 1, lang); } diff --git a/src/profile.h b/src/profile.h index f1b1e0a13..b5f22f6c3 100644 --- a/src/profile.h +++ b/src/profile.h @@ -40,7 +40,8 @@ typedef enum { typedef enum { PROFILE_SVF_NONE = 0, PROFILE_SVF_SD, - PROFILE_SVF_HD + PROFILE_SVF_HD, + PROFILE_SVF_UHD } profile_svfilter_t; struct profile; diff --git a/src/service.c b/src/service.c index d29846777..39f054782 100644 --- a/src/service.c +++ b/src/service.c @@ -760,7 +760,8 @@ service_find_instance if (pro == NULL || pro->pro_svfilter == PROFILE_SVF_NONE || (pro->pro_svfilter == PROFILE_SVF_SD && service_is_sdtv(s)) || - (pro->pro_svfilter == PROFILE_SVF_HD && service_is_hdtv(s))) { + (pro->pro_svfilter == PROFILE_SVF_HD && service_is_hdtv(s)) || + (pro->pro_svfilter == PROFILE_SVF_UHD && service_is_uhdtv(s))) { r1 = s->s_enlist(s, ti, sil, flags, weight); if (r1 == 0) enlisted++; diff --git a/src/service_mapper.c b/src/service_mapper.c index 6714aacd9..f4784ecb8 100644 --- a/src/service_mapper.c +++ b/src/service_mapper.c @@ -238,14 +238,18 @@ service_mapper_process /* Type tags */ if (conf->type_tags) { - if (service_is_hdtv(s)) { + if (service_is_uhdtv(s)) { + channel_tag_map(channel_tag_find_by_name("TV channels", 1), chn, chn); + channel_tag_map(channel_tag_find_by_name("UHDTV", 1), chn, chn); + } else if (service_is_hdtv(s)) { channel_tag_map(channel_tag_find_by_name("TV channels", 1), chn, chn); channel_tag_map(channel_tag_find_by_name("HDTV", 1), chn, chn); } else if (service_is_sdtv(s)) { channel_tag_map(channel_tag_find_by_name("TV channels", 1), chn, chn); channel_tag_map(channel_tag_find_by_name("SDTV", 1), chn, chn); } else if (service_is_radio(s)) { - channel_tag_map(channel_tag_find_by_name("Radio", 1), chn, chn); + if (!channel_tag_map(channel_tag_find_by_name("Radio", 0), chn, chn)) + channel_tag_map(channel_tag_find_by_name("Radio channels", 1), chn, chn); } }