tdt: some changes to SDT processing to pick up unknown services
(cherry picked from commit b672a9da50
)
Conflicts:
src/dvb/dvb_tables.c
This commit is contained in:
parent
2285f141e1
commit
f67f9eb98e
1 changed files with 10 additions and 4 deletions
|
@ -344,6 +344,8 @@ dvb_sdt_callback(th_dvb_mux_instance_t *tdmi, uint8_t *ptr, int len,
|
|||
|
||||
tsid = ptr[0] << 8 | ptr[1];
|
||||
onid = ptr[5] << 8 | ptr[6];
|
||||
|
||||
/* Find Transport Stream */
|
||||
if (tableid == 0x42) {
|
||||
dvb_mux_set_tsid(tdmi, tsid, 0);
|
||||
dvb_mux_set_onid(tdmi, onid, 0);
|
||||
|
@ -356,8 +358,6 @@ dvb_sdt_callback(th_dvb_mux_instance_t *tdmi, uint8_t *ptr, int len,
|
|||
break;
|
||||
if (!tdmi) return -1;
|
||||
}
|
||||
TRACE("sdt", "onid %04X tsid %04X", onid, tsid);
|
||||
//hexdump("sdt", ptr, len);
|
||||
|
||||
// version = ptr[2] >> 1 & 0x1f;
|
||||
// section_number = ptr[3];
|
||||
|
@ -435,8 +435,14 @@ dvb_sdt_callback(th_dvb_mux_instance_t *tdmi, uint8_t *ptr, int len,
|
|||
}
|
||||
}
|
||||
|
||||
if (!(t = dvb_service_find(tdmi, service_id, 0, NULL)))
|
||||
continue;
|
||||
if (!(t = dvb_service_find3(NULL, tdmi, NULL, 0, 0, service_id, 0, 0))) {
|
||||
if (!servicetype_is_tv(stype) &&
|
||||
!servicetype_is_radio(stype))
|
||||
continue;
|
||||
|
||||
if (!(t = dvb_service_find(tdmi, service_id, 0, NULL)))
|
||||
continue;
|
||||
}
|
||||
|
||||
if(t->s_servicetype != stype ||
|
||||
t->s_scrambled != free_ca_mode) {
|
||||
|
|
Loading…
Add table
Reference in a new issue