I realise that a definitive answer would need to come from the original developers and that the likelihood of that happening is minuscule, however...
tvheadend/tvheadendblob/653bd0400b4413db96b80c807f0f7524f9248adb/src/epggrab/module/eit.c#L707C1-L715C55
Can anyone think of a reason why when processing OTA DVB EPG entries, TVH tries to match based on channel+start+stop rather than channel+event_id.
The event_id is supposed to be the unique identifier for that event, as the details of the event changes, the event_id remains stable. If the event scheduling changes, the event_id should theoretically stay the same.
With the current system, matching by channel+start+stop, if an existing event is rescheduled, then it will not match the incoming event and will be treated as a new event rather than a changed event. If there is no match, then a new event will be created with the same event_id.
For example, if a scheduled recording is linked to an event_id and that event is deleted (even briefly), what, if any, impact will this have?
The ATSC and OpenTV grabbers both seem to lookup based on channel+event_id. It's just odd that DVB does not.
I have not personally seen any ill effects from this, nor I have not dug very deeply into this yet or know what the practical implications of this may be. There may be a perfectly reasonable explanation.