]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
bouquet: another satellite position fix
authorJaroslav Kysela <perex@perex.cz>
Wed, 5 Nov 2014 18:31:18 +0000 (19:31 +0100)
committerJaroslav Kysela <perex@perex.cz>
Sat, 8 Nov 2014 20:05:38 +0000 (21:05 +0100)
src/input/mpegts/dvb_psi.c
src/input/mpegts/dvb_support.c

index 4b34ce157c1bceddd5201d8ff02f39e676a68aa7..f2ad99ffaf35dd903594e888fcd167e48e0782e2 100644 (file)
@@ -515,9 +515,13 @@ dvb_freesat_add_service
 {
   char name[96], src[64];
   if (!fr->bouquet) {
+    strcpy(name, "???");
+    if (idnode_is_instance(&bi->mm->mm_id, &dvb_mux_dvbs_class))
+      dvb_sat_position_to_str(dvb_sat_position(&((dvb_mux_t *)bi->mm)->lm_tuning),
+                              name, sizeof(name));
+    snprintf(src, sizeof(src), "dvb-%s://dvbs,%s,%04X,%u",
+             bi->freesat ? "freesat" : "bskyb", name, bi->nbid, fr->regionid);
     snprintf(name, sizeof(name), "%s: %s", bi->name, fr->name);
-    snprintf(src, sizeof(src), "dvb-%s://dvbs,28.2E,%04X,%u",
-             bi->freesat ? "freesat" : "bskyb", bi->nbid, fr->regionid);
     fr->bouquet = bouquet_find_by_source(name, src, 1);
   }
   bouquet_add_service(fr->bouquet, (service_t *)s, lcn);
index 5ebf86e8e5663f862ca833684c51531a8416a017..7689eb0a8b52b0db4941fc49eed4a1efac21c9da 100644 (file)
@@ -861,10 +861,10 @@ dvb_sat_position_to_str(int position, char *buf, size_t buflen)
 
   if (!buf || !buflen)
     return "";
-  snprintf(buf, buflen, "%d", position / 10);
+  snprintf(buf, buflen, "%d", abs(position / 10));
   if (dec)
     snprintf(buf + strlen(buf), buflen - strlen(buf), ".%d", abs(dec));
-  snprintf(buf + strlen(buf), buflen - strlen(buf), "%c", dec < 0 ? 'W' : 'E');
+  snprintf(buf + strlen(buf), buflen - strlen(buf), "%c", position < 0 ? 'W' : 'E');
   return buf;
 }