]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
SAT>IP server: print fe (tuner selection) config
authorJaroslav Kysela <perex@perex.cz>
Wed, 6 Apr 2016 14:40:52 +0000 (16:40 +0200)
committerJaroslav Kysela <perex@perex.cz>
Wed, 6 Apr 2016 14:40:52 +0000 (16:40 +0200)
src/satip/rtsp.c
src/satip/server.c
src/satip/server.h

index 567359e6c03bff3a1340cc0743b31a36a0aeddf7..fc2d4d45f79ff1e775e81447891908550785dffa 100644 (file)
@@ -91,9 +91,10 @@ static void rtsp_free_session(session_t *rs);
 /*
  *
  */
-static int
-rtsp_delsys(int fe, int *findex)
+int
+satip_rtsp_delsys(int fe, int *findex, const char **ftype)
 {
+  const char *t = NULL;
   int res, i;
 
   if (fe < 1)
@@ -102,48 +103,56 @@ rtsp_delsys(int fe, int *findex)
   i = satip_server_conf.satip_dvbs;
   if (fe <= i) {
     res = DVB_SYS_DVBS;
+    t = "DVB-S";
     goto result;
   }
   fe -= i;
   i = satip_server_conf.satip_dvbs2;
   if (fe <= i) {
     res = DVB_SYS_DVBS;
+    t = "DVB-S2";
     goto result;
   }
   fe -= i;
   i = satip_server_conf.satip_dvbt;
   if (fe <= i) {
     res = DVB_SYS_DVBT;
+    t = "DVB-T";
     goto result;
   }
   fe -= i;
   i = satip_server_conf.satip_dvbt2;
   if (fe <= i) {
     res = DVB_SYS_DVBT;
+    t = "DVB-T2";
     goto result;
   }
   fe -= i;
   i = satip_server_conf.satip_dvbc;
   if (fe <= i) {
     res = DVB_SYS_DVBC_ANNEX_A;
+    t = "DVB-C";
     goto result;
   }
   fe -= i;
   i = satip_server_conf.satip_dvbc2;
   if (fe <= i) {
     res = DVB_SYS_DVBC_ANNEX_A;
+    t = "DVB-C2";
     goto result;
   }
   fe -= i;
   i = satip_server_conf.satip_atsc_t;
   if (fe <= i) {
     res = DVB_SYS_ATSC;
+    t = "ATSC-T";
     goto result;
   }
   fe -= i;
   i = satip_server_conf.satip_atsc_c;
   if (fe <= i) {
     res = DVB_SYS_DVBC_ANNEX_B;
+    t = "ATSC-C";
     goto result;
   }
   pthread_mutex_unlock(&global_lock);
@@ -151,6 +160,8 @@ rtsp_delsys(int fe, int *findex)
 result:
   pthread_mutex_unlock(&global_lock);
   *findex = i;
+  if (ftype)
+    *ftype = t;
   return res;
 }
 
@@ -896,9 +907,11 @@ rtsp_parse_cmd
   rs = rtsp_find_session(hc, stream);
 
   if (fe > 0) {
-    delsys = rtsp_delsys(fe, &findex);
-    if (delsys == DVB_SYS_NONE)
+    delsys = satip_rtsp_delsys(fe, &findex, NULL);
+    if (delsys == DVB_SYS_NONE) {
+      tvherror("satips", "fe=%d does not exist", fe);
       goto end;
+    }
   } else {
     delsys = msys;
   }
index a70c267c8f1761b23c9d87288bdc1c9d5b595325..eb5ac3a975eb749ebf1df00a4a1073dfd7451839 100644 (file)
@@ -522,6 +522,9 @@ static void satips_rtsp_port(int def)
 
 static void satip_server_info(const char *prefix, int descramble, int muxcnf)
 {
+  int fe, findex;
+  const char *ftype;
+
   tvhinfo("satips", "SAT>IP Server %sinitialized "
                     "(HTTP %s:%d, RTSP %s:%d, "
                     "descramble %d, muxcnf %d)",
@@ -529,15 +532,11 @@ static void satip_server_info(const char *prefix, int descramble, int muxcnf)
               http_server_ip, http_server_port,
               http_server_ip, satip_server_rtsp_port,
               descramble, muxcnf);
-  tvhinfo("satips", "SAT>IP Server tuners: DVB-T/T2 %d/%d, DVB-S/S2 %d/%d, DVB-C/C2 %d/%d, ATSC-T/C %d/%d",
-              satip_server_conf.satip_dvbt,
-              satip_server_conf.satip_dvbt2,
-              satip_server_conf.satip_dvbs,
-              satip_server_conf.satip_dvbs2,
-              satip_server_conf.satip_dvbc,
-              satip_server_conf.satip_dvbc2,
-              satip_server_conf.satip_atsc_t,
-              satip_server_conf.satip_atsc_c);
+  for (fe = 1; fe <= 128; fe++) {
+    if (satip_rtsp_delsys(fe, &findex, &ftype) == DVB_TYPE_NONE)
+      break;
+    tvhinfo("satips", "  tuner[fe=%d]: %s #%d", fe, ftype, findex);
+  }
 }
 
 /*
index 8420d584bc96f8f0343675a50092e23aac8e2887..6c36a80ee77fa669a053722858e60e0efdfa4bae 100644 (file)
@@ -82,6 +82,8 @@ void satip_rtp_close(void *id);
 void satip_rtp_init(int boot);
 void satip_rtp_done(void);
 
+int satip_rtsp_delsys(int fe, int *findex, const char **ftype);
+
 void satip_server_rtsp_init(const char *bindaddr, int port,
                             int descramble, int rewrite_pmt, int muxcnf,
                             const char *nat_ip);