From: E.Smith <31170571+azlm8t@users.noreply.github.com> Date: Tue, 31 Oct 2017 10:40:25 +0000 (+0000) Subject: ui: Persist image to dvr/log and send to ui. (#4685). X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2ef972a14f584e40c8a3860d7e667d00faf1233d;p=thirdparty%2Ftvheadend.git ui: Persist image to dvr/log and send to ui. (#4685). Previously it was only available for upcoming recordings but now we persist it to the dvr/log so it can be sent to clients and displayed on recorded programmes. Issue: #4685 --- diff --git a/src/dvr/dvr.h b/src/dvr/dvr.h index efbf852fd..6120d5a15 100644 --- a/src/dvr/dvr.h +++ b/src/dvr/dvr.h @@ -206,6 +206,7 @@ typedef struct dvr_entry { char *de_creator; char *de_comment; char *de_uri; /* Programme unique ID */ + char *de_image; /* Programme Image */ htsmsg_t *de_files; /* List of all used files */ char *de_directory; /* Can be set for autorec entries, will override any directory setting from the configuration */ diff --git a/src/dvr/dvr_db.c b/src/dvr/dvr_db.c index 080dcda15..d4a3f5569 100644 --- a/src/dvr/dvr_db.c +++ b/src/dvr/dvr_db.c @@ -995,6 +995,8 @@ dvr_entry_create_(int enabled, const char *config_uuid, epg_broadcast_t *e, htsmsg_add_u32(conf, "copyright_year", e->episode->copyright_year); if (e->episode && e->episode->uri) htsmsg_add_str(conf, "uri", e->episode->uri); + if (e->episode && e->episode->image) + htsmsg_add_str(conf, "image", e->episode->image); } else if (title) { l = lang_str_create(); lang_str_add(l, title, lang, 0); @@ -3298,6 +3300,11 @@ static const void * dvr_entry_class_image_url_get(void *o) { dvr_entry_t *de = (dvr_entry_t *)o; + if (de->de_image) { + prop_ptr = de->de_image; + return &prop_ptr; + } + static const char *s = ""; if (!de->de_bcast || !de->de_bcast->episode || !de->de_bcast->episode->image) return &s; @@ -3485,7 +3492,8 @@ const idclass_t dvr_entry_class = { .name = N_("Episode image"), .desc = N_("Episode image."), .get = dvr_entry_class_image_url_get, - .opts = PO_HIDDEN | PO_RDONLY | PO_NOSAVE | PO_NOUI, + .off = offsetof(dvr_entry_t, de_image), + .opts = PO_HIDDEN, }, { .type = PT_LANGSTR, diff --git a/src/htsp_server.c b/src/htsp_server.c index 81aba2fdf..8c9085c1e 100644 --- a/src/htsp_server.c +++ b/src/htsp_server.c @@ -1003,6 +1003,8 @@ htsp_build_dvrentry(htsp_connection_t *htsp, dvr_entry_t *de, const char *method htsmsg_add_str(out, "creator", de->de_creator); if(de->de_comment) htsmsg_add_str(out, "comment", de->de_comment); + if(de->de_image && *de->de_image) + htsmsg_add_str(out, "image", de->de_image); if (de->de_copyright_year) htsmsg_add_u32(out, "copyrightYear", de->de_copyright_year);