Changeset 11522
- Timestamp:
- 06/06/19 23:36:37 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/module-dvbapi.c
r11520 r11522 3904 3904 *adapter_index = 0x00; 3905 3905 *pmtpid = 0x00; 3906 bool is82Parsed = false; 3907 bool is83Parsed = false; 3908 bool is84Parsed = false; 3909 bool is86Parsed = false; 3906 3910 3907 3911 uint16_t program_info_length = b2i(2, buffer + 4) & 0x0FFF; … … 3926 3930 case 0x82: // demux, ca_mask, adapter (everyone is using this descriptor differently - what a mess) 3927 3931 { 3932 if(is82Parsed) 3933 { 3934 break; 3935 } 3936 3928 3937 if(descriptor_length == 0x02 && (cfg.dvbapi_boxtype == BOXTYPE_PC || 3929 3938 cfg.dvbapi_boxtype == BOXTYPE_PC_NODMX || cfg.dvbapi_boxtype == BOXTYPE_SAMYGO)) … … 3932 3941 *adapter_index = buffer[pos + 3]; // adapter index can be 0, 1, 2 3933 3942 *ca_mask = (1 << *adapter_index); // use adapter_index as ca_mask 3943 is82Parsed = true; 3934 3944 } 3935 3945 else if(descriptor_length == 0x03 && cfg.dvbapi_boxtype == BOXTYPE_QBOXHD) … … 3939 3949 *adapter_index = buffer[pos + 4]; // with STONE 1.0.4 adapter index can be 0, 1, 2 3940 3950 *ca_mask = (1 << *adapter_index); // use adapter_index as ca_mask 3951 is82Parsed = true; 3941 3952 } 3942 3953 else if(descriptor_length == 0x02) // enigma2 … … 3955 3966 } 3956 3967 *demux_index = demux_tmp; 3957 } 3968 is82Parsed = true; 3969 } 3958 3970 break; 3959 3971 } … … 3961 3973 case 0x83: // adapter 3962 3974 { 3975 if(is83Parsed) 3976 { 3977 break; 3978 } 3963 3979 if(descriptor_length == 0x01) 3964 3980 { 3965 3981 *adapter_index = buffer[pos + 2]; 3982 is83Parsed = true; 3966 3983 } 3967 3984 break; … … 3970 3987 case 0x84: // pmt pid 3971 3988 { 3989 if(is84Parsed) 3990 { 3991 break; 3992 } 3972 3993 if(descriptor_length == 0x02) 3973 3994 { 3974 3995 *pmtpid = b2i(2, buffer + pos + 2); 3996 is84Parsed = true; 3975 3997 } 3976 3998 break; … … 3982 4004 case 0x86: // demux only (new - added in 2019) 3983 4005 { 4006 if(is86Parsed) 4007 { 4008 break; 4009 } 3984 4010 if(descriptor_length == 0x01) 3985 4011 { 3986 4012 *demux_index = buffer[pos + 2]; 3987 4013 *ca_mask = 1 << *demux_index; 4014 is86Parsed = true; 3988 4015 } 3989 4016 break;
Note:
See TracChangeset
for help on using the changeset viewer.