- bouquets: allow epgmapping directly from webtv xml file

Signed-off-by: Thilo Graf <dbt@novatux.de>
This commit is contained in:
svenhoefer
2021-09-12 21:23:40 +02:00
committed by Thilo Graf
parent 92a1028aba
commit ced577eb7a

View File

@@ -933,6 +933,7 @@ void CBouquetManager::loadWebchannels(int mode)
const char *desc = xmlGetAttribute(l1, "description");
const char *genre = xmlGetAttribute(l1, "genre");
const char *epgid = xmlGetAttribute(l1, "epgid");
const char *epgmap = xmlGetAttribute(l1, "epgmap");
const char *script = xmlGetAttribute(l1, "script");
t_channel_id epg_id = 0;
if (epgid)
@@ -970,12 +971,20 @@ void CBouquetManager::loadWebchannels(int mode)
t_channel_id new_epgid = reMapEpgID(chid);
if(new_epgid)
channel->setEPGid(new_epgid);
std::string new_epgxml = reMapEpgXML(chid);
if(!new_epgxml.empty()) {
char buf[100];
snprintf(buf, sizeof(buf), "%llx", chid & 0xFFFFFFFFFFFFULL);
if (epgmap)
{
std::string new_epgxml(epgmap);
channel->setEPGmap("#" + new_epgxml + "=" + buf);
}
else
{
std::string new_epgxml = reMapEpgXML(chid);
if(!new_epgxml.empty()) {
channel->setEPGmap("#" + new_epgxml + "=" + buf);
}
}
channel->flags = CZapitChannel::UPDATED;
if (gbouquet)
gbouquet->addService(channel);