[linux-dvb] Problems with ca_zap
Einar Bjarni Halldórsson
einarha at hi.is
Fri Jun 24 01:21:40 CEST 2005
I have the same problem. First I had to change the read buffer size in
libdvbsi/channels.c since 80 chars just didn't cut it for my channel.conf
file. (with strings like "TRANSMISSION_MODE_8K" it soon adds up...) Then
the fun really started. Now I'm basically where you are, that is parse_pat
doesn't seem to see all my channels (13 of 85 in channel.conf by my count)
and most of the PID's are wrong. There's only one encrypted tv channel it
finds, the others are radio and FTA, but when I try to zap to the
encrypted channel it segfaults after telling me the PID's of the streams,
only the first of which matches the ones in channel.conf.
line in channel.conf:
CNN:722000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_32:HIERARCHY_NONE:517:677:32
output from ca_zap (with some debug lines in between):
parse_ca_descriptor: Tag=[09], Length=[04], CA System=[b00], CA PID=[2e5]
parse_ca_descriptor: CA Private Data=[ ]
parse_ca_descriptor: Pos=[18]
parse_pmt: Count=[18], Position=[18], Program descriptor count=[6]
parse_streams: elementary_pid = 517
parse_streams: Elements=[ 02 e2 05 f0 00]
parse_streams: Stream=[0], Stream Type=[2], Elementary PID=[517],
ES info length=[0]
parse_streams: elementary_pid = 741
parse_streams: Elements=[ 06 e2 e5 f0 00]
parse_streams: Stream=[1], Stream Type=[6], Elementary PID=[741],
ES info length=[0]
parse_streams: elementary_pid = 709
parse_streams: Elements=[ 06 e2 c5 f0 07 56 05 65 6e 67 09 00]
parse_streams: Stream=[2], Stream Type=[6], Elementary PID=[709],
ES info length=[7]
Segmentation fault
Now I'm pretty tired and hopeless, so please somebody bring some insight
into this.
Einar
> Allan Stirling wrote:
>
>> dvbsnoop gives me the following:
>> ------------------------------------------------------------
>> SECT-Packet: 00000001 PID: 0 (0x0000), Length: 44 (0x002c)
>> Time received: Thu 2005-06-23 22:20:09.035
>> ------------------------------------------------------------
>> 0000: 00 b0 29 07 ee e3 00 00 00 00 e0 10 11 39 e1 01
>> ..)..........9..
>> 0010: 11 fa e1 07 11 fb e1 09 12 5f e1 04 12 c2 e1 0c
>> ........._......
>> 0020: 12 c9 e1 0b 13 2a e1 0a 24 a9 24 84 .....*..$.$.
>>
>> PID: 0 (0x0000) [= assigned for: ISO 13818-1 Program Association
>> Table (PAT)]
>> Guess table from table id...
>> PAT-decoding....
>> Table_ID: 0 (0x00) [= Program Association Table (PAT)]
>> section_syntax_indicator: 1 (0x01)
>> (fixed): 0 (0x00)
>> reserved_1: 3 (0x03)
>> Section_length: 41 (0x0029)
>> Transport_Stream_ID: 2030 (0x07ee)
>> reserved_2: 3 (0x03)
>> Version_number: 17 (0x11)
>> current_next_indicator: 1 (0x01) [= valid now]
>> Section_number: 0 (0x00)
>> Last_Section_number: 0 (0x00)
>>
>> Program_number: 0 (0x0000)
>> reserved: 7 (0x07)
>> Network_PID: 16 (0x0010)
>>
>> Program_number: 4409 (0x1139)
>> reserved: 7 (0x07)
>> Program_map_PID: 257 (0x0101)
>>
>> Program_number: 4602 (0x11fa)
>> reserved: 7 (0x07)
>> Program_map_PID: 263 (0x0107)
>>
>> Program_number: 4603 (0x11fb)
>> reserved: 7 (0x07)
>> Program_map_PID: 265 (0x0109)
>>
>> Program_number: 4703 (0x125f)
>> reserved: 7 (0x07)
>> Program_map_PID: 260 (0x0104)
>>
>> Program_number: 4802 (0x12c2)
>> reserved: 7 (0x07)
>> Program_map_PID: 268 (0x010c)
>>
>> Program_number: 4809 (0x12c9)
>> reserved: 7 (0x07)
>> Program_map_PID: 267 (0x010b)
>>
>> Program_number: 4906 (0x132a)
>> reserved: 7 (0x07)
>> Program_map_PID: 266 (0x010a)
>>
>> Where you can clearly see that 4703 is listed, with a PID of 260. I
>> think there must be something wrong in the PAT parsing, since I get
>> the following with a slightly modified ca_zap:
>>
>> parse_pat: PAT => Section Length=[41], TS ID=[12270]
>> service_id: 4703
>> program_number: 176 PID: 2311
>> program_number: 61155 PID: 0
>> program_number: 12288 PID: 16
>> program_number: 65337 PID: 7937
>> program_number: 65530 PID: 7943
>> program_number: 4603 PID: 265
>> program_number: 15967 PID: 260
>> program_number: 65474 PID: 7948
>> program_number: 4809 PID: 267
>> program_number: 4906 PID: 266
>>
>> As you can see, some of the program_numbers as well as some of the
>> PIDs are correct, but some are not. This is repeatable between runs.
>>
>> The TS ID is also different. I'm just about to try hardcoding the PID
>> as Manu originally suggested.
>>
> Okay. That gets me more output, but I don't think it's good.
>
> parse_sat_channel_list: Channel=[Sky One], Frequency=[12285],
> Satellite=[0], Symbol Rate=[27500], Video=[513], Audio=[641],
> Service=[4703]
> Service ID=[4703]
> parse_pat: ----------------->parse PAT section
> parse_pat: PAT => Section Length=[41], TS ID=[12270]
> service_id: 4703
> program_number: 176 PID: 2311
> program_number: 61155 PID: 0
> program_number: 12288 PID: 16
> program_number: 65337 PID: 7937
> program_number: 65530 PID: 7943
> program_number: 4603 PID: 265
> program_number: 15967 PID: 260
> parse_si: PMT PID = [260]
> program_number: 65474 PID: 7948
> program_number: 4809 PID: 267
> program_number: 4906 PID: 266
> parse_si: PAT: Close Demux /dev/dvb/adapter3/demux0
> parse_pmt: PMT Words=[ 02 b2 f5 12 5f c9 00 00 ff fe f0 13 0c 04 80 b4
> 81 68 0e 03 c5 df bb 10 06 c5 df bb c0 08 00 02 e2 01 f0 1c 02 03 1a 48
> 5f 09 04 09 60 e5 00 09 04 09 61 e5 00 52 01 01 0e 03 c0 4f f0 06 01 02
> 04 e2 81 f0 1d 03 01 67 09 04 09 60 e5 00 09 04 09 61 e5 00 0a 04 65 6e
> 67 00 52 01 81 0e 03 c0 02 0a 04 e2 95 f0 1d 03 01 67 09 04 09 60 e5 00
> 09 04 09 61 e5 00 0a 04 4e 41 52 00 52 01 95 0e 03 c0 02 0a 06 e2 40 f0
> 0f 56 05 65 6e 67 09 00 52 01 40 0e 03 c0 01 78 06 e2 41 f0 0f 56 05 65
> 6e 67 10 88 52 01 41 0e 03 c0 00 bc 05 e9 80 f0 17 0e 03 c0 46 d8 0f 04
> 4f 54 56 00 90 01 90 fe 04 45 54 30 31 52 01 5a 05 e9 81 f0 17 0e 03 c0
> 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 45 54 30 32 52 01 5b 05 e9 82 f0
> 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 45 54 30 33 52 01 5c
> 05 e9 83 f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 57 54 53
> 33 52 01 0f 05 e9 84 f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe
> 04 45 54 30 34 52 01 5d 05 e9 85 f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00
> 90 01 90 fe 04 45 54 30 35 52 01 5e 05 e9 86 f0 17 0e 03 c0 46 d8 0f 04
> 4f 54 56 00 90 01 90 fe 04 45 54 30 36 52 01 5f 05 e9 87 f0 17 0e 03 c0
> 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 45 54 30 37 52 01 60 05 e9 88 f0
> 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 45 54 30 38 52 01 61
> 05 e9 89 f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 45 54 30
> 39 52 01 62 05 e9 8a f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe
> 04 57 49 41 31 52 01 7e 05 e9 8b f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00
> 90 01 90 fe 04 57 49 41 32 52 01 7f 05 e9 8c f0 17 0e 03 c0 46 d8 0f 04
> 4f 54 56 00 90 01 90 fe 04 57 49 41 33 52 01 80 05 e9 8d f0 17 0e 03 c0
> 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 57 54 56 43 52 01 c9 05 e9 8e f0
> 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 57 54 56 30 52 01 ca
> 05 ec 01 f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 54 58 54
> 00 52 01 3a 05 ec 02 f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00 90 01 90 fe
> 04 54 58 54 01 52 01 3b 05 ec 03 f0 17 0e 03 c0 46 d8 0f 04 4f 54 56 00
> 90 01 90 fe 04 54 58 54 02 52 01 3c 05 ec 04 f0 17 0e 03 c0 46 d8 0f 04
> 4f 54 56 00 90 01 90 fe 04 54 58 54 03 52 01 3d 05 e9 93 f0 17 0e 03 c0
> 46 d8 0f 04 4f 54 56 00 90 01 90 fe 04 49 53 4d 00 52 01 f7 05 e4 06 f0
> 13 5f 04 4f 54 56 00 90 01 9d fe 04 54 47 54 00 66 02 01 07 5c fc 4f 1d ]
>
> parse_pmt: ----------->parse PMT section, PMT PID=[260], bytes=[760]
> parse_pmt_header: Table ID=[2], Section Length=[757], Program
> Number=[4703], Section Number=[0], PCR PID=[8190], Program info
> length=[19]
> parse_pmt: Program info length=[19]
> parse_pmt: Count=[16], Position=[16], Program descriptor count=[19]
> parse_pmt: Count=[137], Position=[120], Program descriptor count=[19]
>
> parse_streams: Elements=[ 4e 41 52 00 52 01 95 0e 03 c0 02 0a 06
> e2 40 f0 0f 56 05 65 6e 67 09 00 52 01 40 0e 03 c0 01 78 06 e2 41 f0 0f
> 56 05 65 6e 67 10 88 52 01 41 0e 03 c0 00 bc 05 e9 80 f0 17 0e 03 c0 46
> d8 0f 04 4f 54 56 00 90 01 90 fe 04 45 54 30 31 52 01 5a 05 e9 81 f0 17
> 0e 03]
> parse_streams: Stream=[0], Stream Type=[78], Elementary
> PID=[338], ES info length=[82]
>
> Cheers,
>
> Allan.
>
> _______________________________________________
> linux-dvb mailing list
> linux-dvb at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
>
More information about the linux-dvb
mailing list