Changeset 11537 for trunk/module-dvbapi.c
- Timestamp:
- 07/30/19 01:15:50 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/module-dvbapi.c
r11536 r11537 4070 4070 if(es_info_length != 0 && es_info_length < length) 4071 4071 { 4072 // We are on CA PMT parsing 4073 // Only enigma2 and Spark follow the CA PMT specification ("ca_pmt_cmd_id" 4074 // shall be present in the ES info loop), so we need to check for the box type. 4075 if(ca_pmt_cmd_id != NULL && cfg.dvbapi_boxtype == BOXTYPE_DREAMBOX) 4076 { 4077 *ca_pmt_cmd_id = buffer[i + 5]; // It should be identical for all ES and the same as in program info 4078 offset = 1; 4072 if(ca_pmt_cmd_id != NULL) // We are on CA PMT parsing 4073 { 4074 // Only enigma2, Spark and VDR follow the CA PMT specification ("ca_pmt_cmd_id" 4075 // shall be present in the ES info loop). For the first two, checking for boxtype 4076 // "dreambox" is sufficient, but for VDR this is not enough, because it shares 4077 // the same boxtype with tvheadend. So, for every other box (including VDR and 4078 // tvheadend), we stick to the old style check based on the value (descriptors 4079 // with tag 0x00 or 0x01 are not allowed, so this works), while for enigma2 we 4080 // do a proper check, because the "ca_pmt_cmd_id" can also take greater values. 4081 if(cfg.dvbapi_boxtype == BOXTYPE_DREAMBOX) 4082 { 4083 *ca_pmt_cmd_id = buffer[i + 5]; // It should be identical for all ES and the same as in program info 4084 offset = 1; 4085 } 4086 else 4087 { 4088 offset = (buffer[i + 5] <= 0x01) ? 1 : 0; 4089 } 4079 4090 } 4080 4091
Note:
See TracChangeset
for help on using the changeset viewer.