diff options
author | Dimitar Petrovski <dimeptr@gmail.com> | 2012-06-02 16:22:37 +0200 |
---|---|---|
committer | Dimitar Petrovski <dimeptr@gmail.com> | 2012-06-02 16:22:37 +0200 |
commit | 2b607ae7ed801583172ee17df6b335abea495442 (patch) | |
tree | 743081afed1dcabf377e25a5b8c4c19eb1976f62 /epghandler.c | |
parent | eb01c61554a9f84a7b2893eda109d5f70394afe1 (diff) | |
download | vdr-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.c | 17 |
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; } |