diff --git a/src/input/mpegts/linuxdvb/linuxdvb_lnb.c b/src/input/mpegts/linuxdvb/linuxdvb_lnb.c index 9e3b2e94..76bc4e94 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_lnb.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_lnb.c @@ -97,12 +97,12 @@ linuxdvb_lnb_standard_freq ( linuxdvb_lnb_t *l, linuxdvb_mux_t *lm ) { linuxdvb_lnb_conf_t *lnb = (linuxdvb_lnb_conf_t*)l; - uint32_t f = lm->lm_tuning.dmc_fe_params.frequency; + int32_t f = (int32_t)lm->lm_tuning.dmc_fe_params.frequency; if (lnb->lnb_switch && f > lnb->lnb_switch) f -= lnb->lnb_high; else f -= lnb->lnb_low; - return f; + return (uint32_t)abs(f); } static int @@ -137,7 +137,7 @@ linuxdvb_lnb_bandstack_freq ( linuxdvb_lnb_t *l, linuxdvb_mux_t *lm ) { linuxdvb_lnb_conf_t *lnb = (linuxdvb_lnb_conf_t*)l; - uint32_t f = lm->lm_tuning.dmc_fe_params.frequency; + int32_t f = (int32_t)lm->lm_tuning.dmc_fe_params.frequency; dvb_mux_conf_t *dmc = &lm->lm_tuning; int pol = dmc->dmc_fe_polarisation == POLARISATION_HORIZONTAL || dmc->dmc_fe_polarisation == POLARISATION_CIRCULAR_LEFT; @@ -145,7 +145,7 @@ linuxdvb_lnb_bandstack_freq f -= lnb->lnb_high; else f -= lnb->lnb_low; - return f; + return (uint32_t)abs(f); } static int