]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
htsp: for version >= 32, do not change subtitle,summary,description fields
authorJaroslav Kysela <perex@perex.cz>
Sat, 20 Jan 2018 17:34:30 +0000 (18:34 +0100)
committerJaroslav Kysela <perex@perex.cz>
Sat, 20 Jan 2018 17:34:30 +0000 (18:34 +0100)
src/htsp_server.c

index 56da562227f8bdf76cf19e96646fbb00bb4db422..45a0cae25eb4447b42bcd2372819537d8b139f3b 100644 (file)
@@ -67,7 +67,7 @@
 
 static void *htsp_server, *htsp_server_2;
 
-#define HTSP_PROTO_VERSION 31
+#define HTSP_PROTO_VERSION 32
 
 #define HTSP_ASYNC_OFF  0x00
 #define HTSP_ASYNC_ON   0x01
@@ -970,6 +970,7 @@ htsp_build_dvrentry(htsp_connection_t *htsp, dvr_entry_t *de, const char *method
   int64_t fsize = -1, start, stop;
   uint32_t u32;
   char ubuf[UUID_HEX_SIZE];
+  int subtitle_is_summary = 0;
 
   htsmsg_add_u32(out, "id", idnode_get_short_uuid(&de->de_id));
 
@@ -1018,6 +1019,14 @@ htsp_build_dvrentry(htsp_connection_t *htsp, dvr_entry_t *de, const char *method
       htsmsg_add_str(out, "title", s);
     if(de->de_subtitle && (s = lang_str_get(de->de_subtitle, lang)))
       htsmsg_add_str(out, "subtitle", s);
+    else if (htsp->htsp_version < 32 &&
+             de->de_summary && (s = lang_str_get(de->de_summary, lang))) {
+      htsmsg_add_str(out, "subtitle", s);
+      subtitle_is_summary = 1;
+    }
+    if (!subtitle_is_summary &&
+        de->de_summary && (s = lang_str_get(de->de_summary, lang)))
+      htsmsg_add_str(out, "summary", s);
     if(de->de_desc && (s = lang_str_get(de->de_desc, lang)))
       htsmsg_add_str(out, "description", s);
     htsp_serialize_epnum(out, &de->de_epnum, "episode");
@@ -1255,12 +1264,21 @@ htsp_build_event
     htsmsg_add_str(out, "title", str);
   if ((str = epg_broadcast_get_subtitle(e, lang)))
     htsmsg_add_str(out, "subtitle", str);
-  if ((str = epg_broadcast_get_description(e, lang))) {
-    htsmsg_add_str(out, "description", str);
+  else if (htsp->htsp_version < 32 && (str = epg_broadcast_get_summary(e, lang)))
+    htsmsg_add_str(out, "subtitle", str);
+  if (htsp->htsp_version < 32) {
+    if ((str = epg_broadcast_get_description(e, lang))) {
+      htsmsg_add_str(out, "description", str);
+      if ((str = epg_broadcast_get_summary(e, lang)))
+        htsmsg_add_str(out, "summary", str);
+    } else if((str = epg_broadcast_get_summary(e, lang)))
+      htsmsg_add_str(out, "description", str);
+  } else {
     if ((str = epg_broadcast_get_summary(e, lang)))
       htsmsg_add_str(out, "summary", str);
-  } else if((str = epg_broadcast_get_summary(e, lang)))
-    htsmsg_add_str(out, "description", str);
+    if ((str = epg_broadcast_get_description(e, lang)))
+      htsmsg_add_str(out, "description", str);
+  }
 
   if (e->credits) {
     htsmsg_add_msg(out, "credits", htsmsg_copy(e->credits));