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);
}
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++;
/* 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);
}
}