Now giving the start time precedence when searching for existing EPG events

This commit is contained in:
Klaus Schmidinger 2006-05-12 13:28:22 +02:00
parent 81bd99a674
commit 046595a803
2 changed files with 10 additions and 7 deletions

View File

@ -4710,3 +4710,6 @@ Video Disk Recorder Revision History
- Fixed the character #207 in fontosd for iso8859-2 (thanks to Vladimír Bárta).
- Fixed handling unknown codes when learning LIRC remote control codes (reported
by Helmut Auer).
- Since some channels (especially the Austrian ORF) randomly change the ids of their
EPG events, VDR now gives the start time precedence when searching for existing
events.

14
epg.c
View File

@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
*
* $Id: epg.c 1.73 2006/05/07 09:13:36 kls Exp $
* $Id: epg.c 1.74 2006/05/12 13:25:44 kls Exp $
*/
#include "epg.h"
@ -712,12 +712,12 @@ const cEvent *cSchedule::GetFollowingEvent(void) const
const cEvent *cSchedule::GetEvent(tEventID EventID, time_t StartTime) const
{
// Returns either the event info with the given EventID or, if that one can't
// be found, the one with the given StartTime (or NULL if neither can be found)
cEvent *pt = eventsHashID.Get(EventID);
if (!pt && StartTime > 0) // 'StartTime < 0' is apparently used with NVOD channels
pt = eventsHashStartTime.Get(StartTime);
return pt;
// Returns the event info with the given StartTime or, if no actual StartTime
// is given, the one with the given EventID.
if (StartTime > 0) // 'StartTime < 0' is apparently used with NVOD channels
return eventsHashStartTime.Get(StartTime);
else
return eventsHashID.Get(EventID);
}
const cEvent *cSchedule::GetEventAround(time_t Time) const