- webtv/xmltv: add remote hostname as group prefix to see where the stream is come from

Signed-off-by: Thilo Graf <dbt@novatux.de>
This commit is contained in:
svenhoefer
2018-12-21 23:50:26 +01:00
committed by Thilo Graf
parent 5c413dce45
commit ed9cbd170f
2 changed files with 13 additions and 2 deletions

View File

@@ -3305,6 +3305,10 @@ void CControlAPI::xmltvm3uCGI(CyhookHandler *hh)
else
host = "http://" + hh->HeaderList["Host"];
// get hostname
char hostname[HOST_NAME_MAX];
gethostname(hostname, HOST_NAME_MAX);
// build url
std::string url = host;
/* strip off optional custom port */
@@ -3334,6 +3338,7 @@ void CControlAPI::xmltvm3uCGI(CyhookHandler *hh)
result += " tvg-logo=\"" + host + NeutrinoAPI->getLogoFile(channel->getChannelID()) + "\"";
else
result += " tvg-logo=\"\"";
result += " group-prefix=\"" + std::string(hostname) + "\"";
result += " group-title=\"" + bouq_name + "\",";
result += channel->getName() + "\n";
result += url + string_printf(PRINTF_CHANNEL_ID_TYPE_NO_LEADING_ZEROS, channel->getChannelID()) + "\n";

View File

@@ -53,6 +53,7 @@
#define TVG_INFO_NAME_MARKER "tvg-name="
#define TVG_INFO_LOGO_MARKER "tvg-logo="
#define TVG_INFO_SHIFT_MARKER "tvg-shift="
#define GROUP_PREFIX_MARKER "group-prefix="
#define GROUP_NAME_MARKER "group-title="
extern CBouquetManager *g_bouquetManager;
@@ -975,6 +976,7 @@ void CBouquetManager::loadWebchannels(int mode)
char cLine[1024];
std::string desc = "";
std::string title = "";
std::string prefix = "";
std::string group = "";
std::string epgid = "";
std::string alogo = "";
@@ -1001,6 +1003,7 @@ void CBouquetManager::loadWebchannels(int mode)
int iColon = (int)strLine.find_first_of(':');
int iComma = (int)strLine.find_last_of(',');
title = "";
prefix = "";
group = "";
desc = "";
alogo = "";
@@ -1012,6 +1015,7 @@ void CBouquetManager::loadWebchannels(int mode)
title = strLine.substr(iComma);
std::string strInfoLine = strLine.substr(iColon, --iComma - iColon);
desc = ReadMarkerValue(strInfoLine, TVG_INFO_NAME_MARKER);
prefix = ReadMarkerValue(strInfoLine, GROUP_PREFIX_MARKER);
group = ReadMarkerValue(strInfoLine, GROUP_NAME_MARKER);
epgid = ReadMarkerValue(strInfoLine, TVG_INFO_ID_MARKER);
alogo = ReadMarkerValue(strInfoLine, TVG_INFO_LOGO_MARKER);
@@ -1037,8 +1041,10 @@ void CBouquetManager::loadWebchannels(int mode)
CZapitBouquet* gbouquet = pbouquet;
if (!group.empty())
{
std::string bname = (mode == MODE_WEBTV) ? "[WebTV] " : "[WebRadio] ";
bname += group;
std::string bname = prefix;
if (bname.compare("") == 0)
bname = (mode == MODE_WEBTV) ? "WebTV" : "WebRadio";
bname += ": " + group;
gbouquet = addBouquetIfNotExist(bname);
if (mode == MODE_WEBTV)
gbouquet->bWebtv = true;