Jos kuka viitsii nähdä enemmän vaivaa tämän asian hyväksi, voisi luoda tvheadendin asetuksiin listauksen kielikoodeista, joilla epg:n halutaan ensisijaisesti tallentuvan.
MUUTOS: eräs tvheadendin "ominaisuus" ohjelman kuvauksien käsittelyssä aiheutti ruotsinkielisten kuvausten ilmaantumisen edelleen joihinkin ohjelmiin. Patchiin lisätty korjaus myös tähän.
- Koodi: Valitse kaikki
diff -ur hts-tvheadend-2.12-orig/src/dvb/dvb_tables.c hts-tvheadend-2.12/src/dvb/dvb_tables.c
--- hts-tvheadend-2.12-orig/src/dvb/dvb_tables.c 2011-02-17 12:26:53.000000000 +0200
+++ hts-tvheadend-2.12/src/dvb/dvb_tables.c 2011-02-21 15:09:34.000000000 +0200
@@ -571,6 +571,7 @@
continue;
}
int changed = 0;
+ int suomenkielinen_saatu = 0;
*title = 0;
*desc = 0;
@@ -588,6 +589,15 @@
if(!dvb_desc_short_event(ptr, dlen,
title, sizeof(title),
desc, sizeof(desc))) {
+ char language[4];
+ memcpy(language, &ptr[0], 3);
+ language[3] = '\0';
+
+ if (!strcmp(language,"fin"))
+ suomenkielinen_saatu = 1;
+ else if (suomenkielinen_saatu)
+ break;
+
changed |= epg_event_set_title(e, title);
changed |= epg_event_set_desc(e, desc);
}
diff -ur hts-tvheadend-2.12-orig/src/epg.c hts-tvheadend-2.12/src/epg.c
--- hts-tvheadend-2.12-orig/src/epg.c 2011-02-17 12:26:53.000000000 +0200
+++ hts-tvheadend-2.12/src/epg.c 2011-02-21 15:08:22.000000000 +0200
@@ -133,14 +133,8 @@
int
epg_event_set_desc(event_t *e, const char *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.
- */
+ if(e->e_desc != NULL && !strcmp(e->e_desc, desc))
return 0;
- }
free(e->e_desc);
e->e_desc = strdup(desc);
return 1;