mpegts service: use dvb_network_get_orbital_pos() in the picons code for dvb-s

This commit is contained in:
Jaroslav Kysela 2014-10-03 11:01:37 +02:00
parent 9a5e31449a
commit 604ff922fa
2 changed files with 7 additions and 5 deletions

View file

@ -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)

View file

@ -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;