From: Jaroslav Kysela Date: Tue, 7 Jun 2016 09:08:32 +0000 (+0200) Subject: DVB-T fixes: hierarchy code rate LP and dvb_mux_conf_str_dvbt X-Git-Tag: v4.2.1~433 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=af333d93cfd9b82467089ccb59b1b33e3963a8ca;p=thirdparty%2Ftvheadend.git DVB-T fixes: hierarchy code rate LP and dvb_mux_conf_str_dvbt --- diff --git a/src/input/mpegts/dvb_psi.c b/src/input/mpegts/dvb_psi.c index 1957a02dd..fb7132a03 100644 --- a/src/input/mpegts/dvb_psi.c +++ b/src/input/mpegts/dvb_psi.c @@ -377,7 +377,8 @@ dvb_desc_terr_del dmc.dmc_fe_modulation = ctab[(ptr[5] >> 6) & 0x3]; dmc.u.dmc_fe_ofdm.hierarchy_information = htab[(ptr[5] >> 3) & 0x3]; dmc.u.dmc_fe_ofdm.code_rate_HP = fec_tab[(ptr[5] + 1) & 0x7]; - dmc.u.dmc_fe_ofdm.code_rate_LP = fec_tab[((ptr[6] + 1) >> 5) & 0x7]; + if (dmc.u.dmc_fe_ofdm.hierarchy_information != DVB_HIERARCHY_NONE) + dmc.u.dmc_fe_ofdm.code_rate_LP = fec_tab[((ptr[6] + 1) >> 5) & 0x7]; dmc.u.dmc_fe_ofdm.guard_interval = gtab[(ptr[6] >> 3) & 0x3]; dmc.u.dmc_fe_ofdm.transmission_mode = ttab[(ptr[6] >> 1) & 0x3]; diff --git a/src/input/mpegts/dvb_support.c b/src/input/mpegts/dvb_support.c index 77afc3f3c..f3a14680a 100644 --- a/src/input/mpegts/dvb_support.c +++ b/src/input/mpegts/dvb_support.c @@ -978,6 +978,8 @@ dvb_mux_conf_init ( dvb_mux_conf_t *dmc, dvb_fe_delivery_system_t delsys ) static int dvb_mux_conf_str_dvbt ( dvb_mux_conf_t *dmc, char *buf, size_t bufsize ) { + char hp[16]; + snprintf(hp, sizeof(hp), "%s", dvb_fec2str(dmc->u.dmc_fe_ofdm.code_rate_HP)); return snprintf(buf, bufsize, "%s freq %d bw %s cons %s hier %s code_rate %s:%s guard %s trans %s plp_id %d", @@ -986,8 +988,7 @@ dvb_mux_conf_str_dvbt ( dvb_mux_conf_t *dmc, char *buf, size_t bufsize ) dvb_bw2str(dmc->u.dmc_fe_ofdm.bandwidth), dvb_qam2str(dmc->dmc_fe_modulation), dvb_hier2str(dmc->u.dmc_fe_ofdm.hierarchy_information), - dvb_fec2str(dmc->u.dmc_fe_ofdm.code_rate_HP), - dvb_fec2str(dmc->u.dmc_fe_ofdm.code_rate_LP), + hp, dvb_fec2str(dmc->u.dmc_fe_ofdm.code_rate_LP), dvb_guard2str(dmc->u.dmc_fe_ofdm.guard_interval), dvb_mode2str(dmc->u.dmc_fe_ofdm.transmission_mode), dmc->dmc_fe_stream_id);