From: Andreas Ă–man Date: Tue, 3 May 2011 19:03:49 +0000 (+0200) Subject: Improve SUMMARY metadata in matroska files X-Git-Tag: 2.99~65 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=935114b608e5b57bbbd2d7bd44c4e61071aac1bb;p=thirdparty%2Ftvheadend.git Improve SUMMARY metadata in matroska files Choose longest string from EPG's description, extended description, extended item or extended text. --- diff --git a/src/dvr/dvr_db.c b/src/dvr/dvr_db.c index 01170fff2..efbc6c178 100644 --- a/src/dvr/dvr_db.c +++ b/src/dvr/dvr_db.c @@ -320,6 +320,20 @@ dvr_entry_create(const char *config_name, } +/** + * + */ +static const char * +longest_string(const char *a, const char *b) +{ + if(b == NULL) + return a; + if(a == NULL) + return b; + return strlen(a) > strlen(b) ? a : b; +} + + /** * */ @@ -328,12 +342,19 @@ dvr_entry_create_by_event(const char *config_name, event_t *e, const char *creator, dvr_autorec_entry_t *dae, dvr_prio_t pri) { + const char *desc = NULL; if(e->e_channel == NULL || e->e_title == NULL) return NULL; + // Try to find best description + + desc = longest_string(e->e_desc, e->e_ext_desc); + desc = longest_string(desc, e->e_ext_item); + desc = longest_string(desc, e->e_ext_text); + return dvr_entry_create(config_name, e->e_channel, e->e_start, e->e_stop, - e->e_title, e->e_desc, creator, dae, &e->e_episode, + e->e_title, desc, creator, dae, &e->e_episode, e->e_content_type, pri); }