From: Jaroslav Kysela Date: Fri, 3 Oct 2014 09:01:37 +0000 (+0200) Subject: mpegts service: use dvb_network_get_orbital_pos() in the picons code for dvb-s X-Git-Tag: v4.1~1215 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=604ff922fa820f6559d2652cd22ab8849d1f4e12;p=thirdparty%2Ftvheadend.git mpegts service: use dvb_network_get_orbital_pos() in the picons code for dvb-s --- diff --git a/src/input/mpegts/mpegts_network_dvb.c b/src/input/mpegts/mpegts_network_dvb.c index f2237218b..cebf472d1 100644 --- a/src/input/mpegts/mpegts_network_dvb.c +++ b/src/input/mpegts/mpegts_network_dvb.c @@ -650,6 +650,8 @@ int dvb_network_get_orbital_pos mpegts_mux_t *mm; dvb_mux_t *lm = NULL; + if (!mn) + return -1; LIST_FOREACH(mm, &ln->mn_muxes, mm_network_link) { lm = (dvb_mux_t *)mm; if (lm->lm_tuning.u.dmc_fe_qpsk.orbital_dir) diff --git a/src/input/mpegts/mpegts_service.c b/src/input/mpegts/mpegts_service.c index 7ca500aed..e1dba191a 100644 --- a/src/input/mpegts/mpegts_service.c +++ b/src/input/mpegts/mpegts_service.c @@ -408,14 +408,14 @@ mpegts_service_channel_icon ( service_t *s ) int32_t hash = 0; static __thread char buf[128]; dvb_mux_t *mmd = (dvb_mux_t*)ms->s_dvb_mux; + char dir; + int pos; switch ( mmd->lm_tuning.dmc_fe_type) { case DVB_TYPE_S: - if (mmd->lm_tuning.u.dmc_fe_qpsk.orbital_dir == 'E') - hash = mmd->lm_tuning.u.dmc_fe_qpsk.orbital_pos; - else - hash = 0xFFFF - mmd->lm_tuning.u.dmc_fe_qpsk.orbital_pos; - hash <<= 16; + if (dvb_network_get_orbital_pos(mmd->mm_network, &pos, &dir) < 0) + return NULL; + hash = (dir == 'E' ? pos : 0xFFFF - pos) << 16; break; case DVB_TYPE_C: hash = 0xFFFF0000;