diff --git a/debian/changelog b/debian/changelog index 446df9aa..dec80536 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,14 +17,20 @@ hts-tvheadend (2.4) hts; urgency=low * Use absolute paths when serving static content (the web app itself) This was only a problem when fork()ing a development build - * Rewrork the CWC reconnection strategy. + * Rework the CWC reconnection strategy. If there are active subscription, Tvheadend will attempt to reconnect immediately and then retry every three seconds. If no subscription is active a reconnection attempt is performed every minute. Also, if any CWC configuration changes are made from the UI, Tvheadend will try to reconnect directly. - + + * If the EPG receives an updated description for an even that is shorter + than the current description it will be ignored. + This typically happens if the XMLTV and DVB EIT (Event Information Table) + differs. In other words, we assume that a longer description of an + event is better than a short. + hts-tvheadend (2.3) hts; urgency=low * A simple web interface has been added. To access it, visit diff --git a/src/epg.c b/src/epg.c index 1a22daa5..3345a270 100644 --- a/src/epg.c +++ b/src/epg.c @@ -137,8 +137,14 @@ epg_event_set_title(event_t *e, const char *title) void epg_event_set_desc(event_t *e, const char *desc) { - if(e->e_desc != NULL && !strcmp(e->e_desc, desc)) + if(e->e_desc != NULL && strlen(e->e_desc) >= strlen(desc)) { + /* The current description is longer than the one we try to set. + * We assume that a longer description is better than a shorter + * so we just bail out. + * Typically happens when the XMLTV and DVB EPG feed differs. + */ return; + } free(e->e_desc); e->e_desc = strdup(desc); epg_event_changed(e);