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.

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.

Adopted for version 1.7.23.

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.

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.

_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

Reply via email to