Hi,
I started to use xmltv2vdr for some channels with poor EPG data. I do not want to use xmltv2vdr for all channels so I modified xmltv2vdr.pl script to clear only the channels which will be grabbed with xmltv. The result was multiple EPG events for some programs. I found 2 issues in VDR code that caused this.
1. CLRE for a channel does not always clear all events. I compared CLRE for clearing all channels and noticed that it also clears events in timers. The patch will add this to CLRE for a channel.
2. Second problem was that for some reason there are small differences in events times in EPG and xmltv. The patch find events close to the current event during EPG scan.
Now I have proper program data from EPG and xmltv.
http://www.tolleri.net/vdr/vdr/vdr-1.7.21-clre-epgscan.patch
Maybe Klaus can have a look if the changes can be implemented in VDR.
Regards, Timo
On 14.10.2011 16:25, Timo Eskola wrote:
Hi,
I started to use xmltv2vdr for some channels with poor EPG data. I do not want to use xmltv2vdr for all channels so I modified xmltv2vdr.pl http://xmltv2vdr.pl script to clear only the channels which will be grabbed with xmltv. The result was multiple EPG events for some programs. I found 2 issues in VDR code that caused this.
- CLRE for a channel does not always clear all events. I compared CLRE for clearing all channels and noticed that it also clears events in timers. The patch will add this to CLRE for a channel.
Adopted for version 1.7.23.
- Second problem was that for some reason there are small differences in events times in EPG and xmltv. The patch find events close to the current event during EPG scan.
I don't see why you are adding 'Duration / 2' here. The call to
GetEventAround(StartTime + Around)
that you have introduced in your patch searches for the event closest to the "middle" of the event in question. Shouldn't you look for an event closest to the *start* of the given event? That would obsolete the new 'Around' parameter and the actual call could simply be
GetEventAround(StartTime)
What I don't like about this whole thing is that it totally defeats the purpose of the eventsHashStartTime hash table, which has been introduced to make this lookup faster. I'm afraid I can't accept this patch because of this.
Klaus
Now I have proper program data from EPG and xmltv.
http://www.tolleri.net/vdr/vdr/vdr-1.7.21-clre-epgscan.patch
Maybe Klaus can have a look if the changes can be implemented in VDR.