port over some not yet landed fixes for german SKY TV epg (THX Gaucho316!)

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@394 e54a6e83-5905-42d5-8d5c-058d10e6a962


Origin commit data
------------------
Commit: 3fe1c9a19d
Author: gixxpunk <thomas.harfmann@gmail.com>
Date: 2010-02-20 (Sat, 20 Feb 2010)

Origin message was:
------------------
- port over some not yet landed fixes for german SKY TV epg (THX Gaucho316!)

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@394 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
gixxpunk
2010-02-20 18:22:55 +00:00
parent f9d6a7dfd9
commit 8dd0dc2a80

View File

@@ -772,8 +772,12 @@ static void addEvent(const SIevent &evt, const unsigned table_id, const time_t z
MySIeventsOrderUniqueKey::iterator si = mySIeventsOrderUniqueKey.find(evt.uniqueKey());
bool already_exists = (si != mySIeventsOrderUniqueKey.end());
if (already_exists) {
/* Check size of some descriptors of the new event before comparing
them with the old ones, because the same event can be complete
on one German Sky channel and incomplete on another one. So we
make sure to keep the complete event, if applicable. */
if ((already_exists) && (evt.components.size() > 0)) {
if (si->second->components.size() != evt.components.size())
already_exists = false;
else {
@@ -791,7 +795,9 @@ static void addEvent(const SIevent &evt, const unsigned table_id, const time_t z
c2++;
}
}
}
if ((already_exists) && (evt.linkage_descs.size() > 0)) {
if (si->second->linkage_descs.size() != evt.linkage_descs.size())
already_exists = false;
else {
@@ -809,7 +815,9 @@ static void addEvent(const SIevent &evt, const unsigned table_id, const time_t z
}
}
}
}
if ((already_exists) && (evt.linkage_descs.size() > 0)) {
if (si->second->ratings.size() != evt.ratings.size())
already_exists = false;
else {
@@ -825,7 +833,9 @@ static void addEvent(const SIevent &evt, const unsigned table_id, const time_t z
p2++;
}
}
}
if (already_exists) {
if (si->second->times.size() != evt.times.size())
already_exists = false;
else {
@@ -866,10 +876,7 @@ static void addEvent(const SIevent &evt, const unsigned table_id, const time_t z
}
SIeventPtr e(eptr);
// If new extended event descriptor is empty use old one, if applicable
if ((e->getExtendedText().length() == 0) && (si != mySIeventsOrderUniqueKey.end()) &&
(SIlanguage::getMode() == CSectionsdClient::LANGUAGE_MODE_OFF))
e->setExtendedText("OFF",si->second->getExtendedText());
//Strip ExtendedDescription if too far in the future
if ((e->times.begin()->startzeit > zeit + secondsExtendedTextCache) &&
(SIlanguage::getMode() == CSectionsdClient::LANGUAGE_MODE_OFF) && (zeit != 0))