summaryrefslogtreecommitdiff
path: root/epghandler.c
diff options
context:
space:
mode:
authorDimitar Petrovski <dimeptr@gmail.com>2012-06-02 16:22:37 +0200
committerDimitar Petrovski <dimeptr@gmail.com>2012-06-02 16:22:37 +0200
commit2b607ae7ed801583172ee17df6b335abea495442 (patch)
tree743081afed1dcabf377e25a5b8c4c19eb1976f62 /epghandler.c
parenteb01c61554a9f84a7b2893eda109d5f70394afe1 (diff)
downloadvdr-plugin-eepg-2b607ae7ed801583172ee17df6b335abea495442.tar.gz
vdr-plugin-eepg-2b607ae7ed801583172ee17df6b335abea495442.tar.bz2
Try to discard very long events that override more than one existing event
Move event clone code to a separate method
Diffstat (limited to 'epghandler.c')
-rw-r--r--epghandler.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/epghandler.c b/epghandler.c
index ecf5de9..e323ed1 100644
--- a/epghandler.c
+++ b/epghandler.c
@@ -30,17 +30,16 @@ bool cEEpgHandler::HandleEitEvent(cSchedule* Schedule,
if ((nid >= 0x1001 && nid <= 0x100B) || nid == 0x101 || nid == 0x100)
return true;
- //TODO!!! not for commit upsteram
- if (EitEvent->getDurationHour() > 10) {
- LogD(3, prep("Event longer than 10h Duration:%d DurationHour:%d StartTimeHour:%d"), EitEvent->getDuration(), EitEvent->getDurationHour(), EitEvent->getStartTimeHour());
- const cEvent* exEvent = Schedule->GetEventAround(EitEvent->getStartTime()+EitEvent->getDuration()/2);
- if (exEvent) {
- LogD(3, prep("10h Existing event %s startTime %d"), exEvent->Title(), exEvent->StartTime());
+ //TODO Should it be added in setup?
+ if (EitEvent->getDurationHour() > _LONG_EVENT_HOURS) {
+ LogD(4, prep("Event longer than 10h Duration:%d DurationHour:%d StartTimeHour:%d"), EitEvent->getDuration(), EitEvent->getDurationHour(), EitEvent->getStartTimeHour());
+ const cEvent* exEvent = Schedule->GetEventAround(EitEvent->getStartTime()+EitEvent->getDuration()/3);
+ const cEvent* exEvent2 = (const cEvent*)exEvent->Next();
+ if (exEvent && exEvent2 && difftime (exEvent2->EndTime(),EitEvent->getStartTime()+EitEvent->getDuration()) <= 0 ) {
+ LogD(3, prep("EitEvent overrides existing events '%s', '%s' ... Skipping"), exEvent->Title(), exEvent2->Title());
return true;
}
}
- //if (EitEvent->getDurationHour() > 3)
-// return true;
return false;
// return true;
@@ -54,7 +53,7 @@ bool cEEpgHandler::SetEventID(cEvent* Event, tEventID EventID) {
bool cEEpgHandler::SetTitle(cEvent* Event, const char* Title) {
LogD(3, prep("Event id:%d title:%s new title:%s"), Event->EventID(), Event->Title(), Title);
- if (!Event->Title() || Title && (!strcmp(Event->Title(),"") || (strcmp(Title,"") && strcmp(Event->Title(),Title))))
+ if (!Event->Title() || (Title && (!strcmp(Event->Title(),"") || (strcmp(Title,"") && strcmp(Event->Title(),Title)))))
Event->SetTitle(Title);
return true;
}