Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
bouquet: BSkyB / Freesat: another fix for duplicated / missing services
  • Loading branch information
perexg committed Nov 8, 2014
1 parent e55d7c5 commit bb3f3fa
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions src/input/mpegts/dvb_psi.c
Expand Up @@ -55,6 +55,7 @@ typedef struct dvb_bat_svc {
mpegts_service_t *svc;
uint32_t lcn;
dvb_freesat_svc_t *fallback;
int used;
} dvb_bat_svc_t;

typedef struct dvb_bat_id {
Expand Down Expand Up @@ -594,12 +595,14 @@ dvb_freesat_completed
TAILQ_FOREACH(fs, &fr->services, region_link) {
dvb_freesat_add_service(bi, fr, fs->svc, fs->lcn);
TAILQ_FOREACH(bs, &bi->services, link)
if (bs->fallback && fs->lcn == bs->fallback->lcn) {
bs->fallback = NULL;
break;
}
if (bs->fallback && fs->lcn == bs->fallback->lcn)
bs->used = 1;
}
TAILQ_FOREACH(bs, &bi->services, link) {
if (bs->used) {
bs->used = 0;
continue;
}
TAILQ_FOREACH(fs, &fr->services, region_link)
if (fs->svc == bs->svc)
break;
Expand Down

0 comments on commit bb3f3fa

Please sign in to comment.