csa: fix some silly mistakes in TS processing
I have now managed to get a cwc decryption to work on my system.
This commit is contained in:
parent
9e5d3ae933
commit
88578c22a6
4 changed files with 7 additions and 2 deletions
|
@ -33,7 +33,7 @@ struct mpegts_table;
|
|||
/* PIDs */
|
||||
|
||||
#define DVB_PAT_PID 0x00
|
||||
#define DVB_CAT_PID 0x02
|
||||
#define DVB_CAT_PID 0x01
|
||||
#define DVB_NIT_PID 0x10
|
||||
#define DVB_SDT_PID 0x11
|
||||
#define DVB_BAT_PID 0x11
|
||||
|
|
|
@ -499,6 +499,7 @@ static int
|
|||
dvb_ca_callback
|
||||
(mpegts_table_t *mt, const uint8_t *ptr, int len, int tableid)
|
||||
{
|
||||
(void)dvb_table_begin(mt, ptr, len, tableid, 0, NULL, NULL, NULL);
|
||||
#if ENABLE_CWC
|
||||
cwc_emm((uint8_t*)ptr, len, (uintptr_t)mt->mt_opaque, mt->mt_mux);
|
||||
#endif
|
||||
|
@ -530,6 +531,8 @@ dvb_cat_callback
|
|||
case DVB_DESC_CA:
|
||||
caid = ( ptr[0] << 8) | ptr[1];
|
||||
pid = ((ptr[2] & 0x1f) << 8) | ptr[3];
|
||||
tvhdebug("cat", " caid %04X (%d) pid %04X (%d)",
|
||||
(uint16_t)caid, (uint16_t)caid, pid, pid);
|
||||
if(pid != 0)
|
||||
mpegts_table_add(mm, 0, 0, dvb_ca_callback,
|
||||
(void*)caid, "ca", MT_FULL, pid);
|
||||
|
|
|
@ -102,7 +102,7 @@ ts_recv_packet0
|
|||
case SCT_CA:
|
||||
if(st->es_section == NULL)
|
||||
st->es_section = calloc(1, sizeof(mpegts_psi_section_t));
|
||||
mpegts_psi_section_reassemble(st->es_section, tsb, 1, got_ca_section, st);
|
||||
mpegts_psi_section_reassemble(st->es_section, tsb, 0, got_ca_section, st);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
@ -891,6 +891,8 @@ service_restart(service_t *t, int had_components)
|
|||
if(t->s_refresh_feed != NULL)
|
||||
t->s_refresh_feed(t);
|
||||
|
||||
descrambler_service_start(t);
|
||||
|
||||
if(TAILQ_FIRST(&t->s_components) != NULL) {
|
||||
|
||||
sm = streaming_msg_create_data(SMT_START,
|
||||
|
|
Loading…
Add table
Reference in a new issue