From: Jaroslav Kysela Date: Wed, 6 Apr 2016 14:40:52 +0000 (+0200) Subject: SAT>IP server: print fe (tuner selection) config X-Git-Tag: v4.2.1~725 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a9cd108c0a3dfc2805de2c4e65422ed3a1dc97cb;p=thirdparty%2Ftvheadend.git SAT>IP server: print fe (tuner selection) config --- diff --git a/src/satip/rtsp.c b/src/satip/rtsp.c index 567359e6c..fc2d4d45f 100644 --- a/src/satip/rtsp.c +++ b/src/satip/rtsp.c @@ -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; } diff --git a/src/satip/server.c b/src/satip/server.c index a70c267c8..eb5ac3a97 100644 --- a/src/satip/server.c +++ b/src/satip/server.c @@ -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); + } } /* diff --git a/src/satip/server.h b/src/satip/server.h index 8420d584b..6c36a80ee 100644 --- a/src/satip/server.h +++ b/src/satip/server.h @@ -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);