Nachdem ich letztens den Beitrag von Rrobby zum Thema doppelte EPG Einträge gelesen hab (und selbst von doppelten EPG Einträgen genervt bin), hier mal ein weiterer Lösungsansatz dazu.
Das Problem ist:
Einige Sender (Pro7, Kabel1, RTL,..) produzieren EPG Einträge, die anscheinend nachträglich die korrigierten Startzeiten enthalten. Leider haben diese Einträge ebenso eine neue Event-Id, so dass VDR diese nicht zuordnen kann: weder über die nun neue Event-Id, noch über die ebenso geänderte Startzeit. Damit betrachtet VDR solche Events als unbekannt und fügt sie (leider dann doppelt) in den EPG ein.
Meine Idee war, dass solche Änderungen keineswegs willkürlich sind:
ursprünglich
19:00 .. 20:15 Event A
20:15 .. 22:00 Event B
22:00 .. 23:30 Event C
23:30 .. 0:00 Event D
Nach Änderung des Zeitplans dann:
19:00 .. 20:18 Event A => offset = +3 minuten
20:18 .. 22:03 Event B => offset = +3 minuten
22:03 .. 23:32 Event C => offset = +2 minuten
23:32 .. 0:00 Event D => offset = 0 minuten
Wenn man nun die Verschiebung um die Zeit "offset" berücksichtigt, lässt sich die neue Startzeit des nächsten Events also vorhersagen:
neue Startzeit = alte Startzeit + offset
Damit kann dann die event id aktualisiert werden.
Die Variable offset wiederum lässt sich berechnen, da normalerweise bei einem bekannten Event dann Startzeit oder Dauer des Ereignisses geändert sein müssten.
Hier zum Probieren ein Patch für VDR-1.3.27 dazu: