Fill out the private descriptor fields correctly (tsid and onid)

This commit is contained in:
bowman-gh 2013-01-08 12:13:49 +01:00
parent ac5db4e22f
commit 22eaf61c40

10
src/capmt.c Normal file → Executable file
View file

@ -719,7 +719,9 @@ capmt_table_input(struct th_descrambler *td, struct service *t,
uint16_t sid = t->s_dvb_service_id;
uint16_t ecmpid = st->es_pid;
uint16_t transponder = 0;
uint16_t transponder = t->s_dvb_mux_instance->tdmi_transport_stream_id;
uint16_t onid = t->s_dvb_mux_instance->tdmi_network_id;
/* don't do too much requests */
if (current_caid == total_caids && caid != ct->ct_caid_last)
@ -757,9 +759,9 @@ capmt_table_input(struct th_descrambler *td, struct service *t,
capmt_descriptor_t prd = {
.cad_type = CAPMT_DESC_PRIVATE,
.cad_length = 0x08,
.cad_data = { 0x00, 0x00, 0x00, 0x00,
sid >> 8, sid & 0xFF,
transponder >> 8, transponder & 0xFF
.cad_data = { 0x00, 0x00, 0x00, 0x00, // enigma namespace goes here
transponder >> 8, transponder & 0xFF,
onid >> 8, onid & 0xFF,
}};
memcpy(&buf[pos], &prd, prd.cad_length + 2);
pos += prd.cad_length + 2;