opdenkamp/xbmc — Issue #316: [FR]: API change proposal for EPG channel updates
Author: manio
Created: 2011-11-09 11:42:53+00:00
State: open

Hello Lars,
I have proposal of adding another possibility for updating channel's EPG data.

Now the vdr's cEvent class has a method:
time_t Seen(void)
which gives a time of the event when it was last seen in the data stream

This could be the key information for new optimized EPG update.
Now the EPG update is initiated from xbmc for every channel.
It would be much better if xbmc also hold timestamp of last epg event update, and the update transation would be then something like this:
XBMC:
select max(timestamp) from epg_events into :from_timestamp (or check the list in case where epg is not stored in sqlite)
ask PVR clients only for updated EPG data since last updating (eg. with function like: UpdateEPGSince(from_timestamp))

PVR clients:
search local database and give all epg events/channels where event timestamp > from_timestamp

If the PVR client new update function is not supported, then it always could fallback to the current way of updating (ask for EPG events for every channel from the channellist).

I think the benefits from this solution are obvious. What do you think about it?