dvb_mux_conf_t dmc;
static const fe_modulation_t qtab [6] = {
- QAM_AUTO, QAM_16, QAM_32, QAM_64, QAM_128, QAM_256
+ QAM_AUTO, QAM_16, QAM_32, QAM_64, QAM_128, QAM_256
};
/* Not enough data */
uint16_t nit_pid = 0;
mpegts_mux_t *mm = mt->mt_mux;
mpegts_table_state_t *st = NULL;
+ mpegts_service_t *s;
/* Begin */
if (tableid != 0) return -1;
} else if (pid) {
tvhdebug("pat", " sid %04X (%d) on pid %04X (%d)", sid, sid, pid, pid);
int save = 0;
- if (mpegts_service_find(mm, sid, pid, 1, &save)) {
+ if ((s = mpegts_service_find(mm, sid, pid, 1, &save))) {
mpegts_table_add(mm, DVB_PMT_BASE, DVB_PMT_MASK, dvb_pmt_callback,
NULL, "pmt", MT_CRC | MT_QUICKREQ | MT_RECORD, pid);
- }
+
+ if (save)
+ service_request_save((service_t*)s, 1);
+ }
}
/* Next */
case DVB_DESC_LANGUAGE:
lang = lang_code_get2((const char*)ptr, 3);
audio_type = ptr[3];
- break;
+ break;
case DVB_DESC_TELETEXT:
if(estype == 0x06)
if (idnode_is_instance(&t->s_id, &mpegts_service_class)) {
mpegts_service_t *ts = (mpegts_service_t*)t;
ss->ss_service_id = ts->s_dvb_service_id;
- fprintf(stderr,"Streaming service %d, PMT PID is %d\n",ss->ss_service_id,ss->ss_pmt_pid);
}
return ss;
}
idnode_save(&t->s_id, m);
htsmsg_add_u32(m, "pcr", t->s_pcr_pid);
+ htsmsg_add_u32(m, "pmt", t->s_pmt_pid);
pthread_mutex_lock(&t->s_stream_mutex);
if(!htsmsg_get_u32(c, "pcr", &u32))
t->s_pcr_pid = u32;
-
+ if(!htsmsg_get_u32(c, "pmt", &u32))
+ t->s_pmt_pid = u32;
pthread_mutex_lock(&t->s_stream_mutex);
m = htsmsg_get_list(c, "stream");