uint32_t bskyb:1;
uint16_t nbid;
char name[32];
+ mpegts_mux_t *mm;
TAILQ_HEAD(,dvb_bat_svc) services;
} dvb_bat_id_t;
return -1;
}
+static void
+dvb_bouquet_comment ( bouquet_t *bq, mpegts_mux_t *mm )
+{
+ char comment[128];
+
+ if (bq->bq_comment && bq->bq_comment[0])
+ return;
+ free(bq->bq_comment);
+ mpegts_mux_nice_name(mm, comment, sizeof(comment));
+ bq->bq_comment = strdup(comment);
+ bq->bq_saveflag = 1;
+}
+
/* **************************************************************************
* Descriptors
* *************************************************************************/
while ((fs = TAILQ_FIRST(&fr->services)) != NULL)
TAILQ_REMOVE(&fr->services, fs, region_link);
if (fr->bouquet) {
+ dvb_bouquet_comment(fr->bouquet, bi->mm);
bouquet_completed(fr->bouquet);
fr->bouquet = NULL;
}
if (!fr) {
fr = calloc(1, sizeof(*fr));
fr->regionid = regionid;
- if ((str = val2str(regionid, bskyb_regions)) == NULL) {
+ /* Note: Poland provider on 13E uses also this bouquet format */
+ if (bi->nbid < 0x1000 || bi->nbid > 0x1010 ||
+ (str = val2str(regionid, bskyb_regions)) == NULL) {
snprintf(buf, sizeof(buf), "Region %d", regionid);
str = buf;
}
if (!bq) continue;
+ dvb_bouquet_comment(bq, bi->mm);
+
TAILQ_FOREACH(bs, &bi->services, link)
bouquet_add_service(bq, (service_t *)bs->svc, 0);
bi->nbid = nbid;
TAILQ_INIT(&bi->services);
LIST_INSERT_HEAD(&b->bats, bi, link);
+ bi->mm = mm;
}
if (!st->working) {
st->working = 1;
if (tableid == DVB_FASTSCAN_NIT_BASE) {
tvhdebug(mt->mt_name, "fastscan %04X (%d) [%s]", nbid, nbid, name);
bq = mt->mt_opaque;
+ dvb_bouquet_comment(bq, mm);
/* BAT */
} else if (tableid == 0x4A) {