Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] demux_ts: request concensus on pmt parser changes. (long)



I'd like to integrate Andre' Drazik's changes for sections spanning 
multiple packets as well as add the missing support for multiple pmt 
sections in a single packet.

The Telstar 5 transponder at 11898 thoughtfully provides a complete test 
case, attached. The one packet contains multiple pmt sections with the 
last section spanning to a subsequent packet which also contains 
multiple sections.

It appears that the case of multiple sections per packet can be 
recognized by looking to see if a pmt table_id (02) follows a section 
successfully parsed. The last_section_number field seems to not be 
supported by this transponder, i.e. not 13818-1-3 compliant.

It also appears that the case of a spanning section can be recognized 
when the section length extends past the end of the current packet or 
the remaining length of the packet is <3, (needed for the table_id and 
the section length). In this spanning case, the data needed to complete 
the section seems to immediately follow the section pointer in the next 
packet for this pid. The section pointer seems to point past the 
remaining data for the uncompleted section and to the start of the first 
section that begins in that packet. Both packets have pusi=1. I can't 
find references to this case in 13818 or its amendments.

The implementation of the software section filter in the dvb card driver 
seems to agree. I'm reluctant to use the driver to filter sections as 
this would tend to limit xine to only satellite, not file input. I 
haven't found other si parser code that handles this.

There has been some discussion over whether si parsing belongs in the 
input or demux code, but I need to fix this regardless.

Hopefully some of the transport stream experts on the list can calibrate 
my assumptions. I don't have much experience with this.

Thanks,

Steve

>00000000  47 40 21 19  0F 00 02 F3   22 F0 00 04  F3 23 F0 00
>00000010  B7 59 70 49  02 B0 17 00   C9 C5 00 00  F7 22 F0 00
>00000020  02 F7 22 F0  00 04 F7 23   F0 00 92 9A  F2 96 02 B0
>00000030  17 00 C8 FD  00 00 F1 22   F0 00 02 F1  22 F0 00 04
>00000040  F1 23 F0 00  56 ED AF 75   FF FF FF FF  FF FF FF FF
>00000050  FF FF FF FF  FF FF FF FF   FF FF FF FF  FF FF FF FF
>00000060  FF FF FF FF  FF FF FF FF   FF FF FF FF  FF FF FF FF
>00000070  FF FF FF FF  FF FF FF FF   FF FF FF FF  FF FF FF FF
>00000080  FF FF FF FF  FF FF FF FF   FF FF FF FF  FF FF FF FF
>00000090  FF FF FF FF  FF FF FF FF   FF FF FF FF  FF FF FF FF       
>000000A0  FF FF FF FF  FF FF FF FF   FF FF FF FF  FF FF FF FF       
>000000B0  FF FF FF FF  FF FF FF FF   FF FF FF FF  47 40 21 1A       
>000000C0  00 02 B0 12  00 DE C9 00   00 F0 01 F0  00 04 F0 01       
>000000D0  F0 00 84 F0  EB 25 02 B0   12 00 DD CD  00 00 F0 02       
>000000E0  F0 00 04 F0  02 F0 00 48   8D 10 52 02  B0 17 00 D1       
>000000F0  D9 00 00 F2  22 F0 00 02   F2 22 F0 00  04 F2 23 F0 
>00000100  00 E9 C2 E1  16 02 B0 17   00 DC D1 00  00 F8 22 F0       
>00000110  00 02 F8 22  F0 00 04 F8   23 F0 00 50  BA 30 3C 02       
>00000120  B0 17 00 D3  F9 00 00 F5   22 F0 00 02  F5 22 F0 00       
>00000130  04 F5 23 F0  00 04 2D A7   42 02 B0 17  00 CD C9 00       
>00000140  00 F6 22 F0  00 02 F6 22   F0 00 04 F6  23 F0 00 16       
>00000150  C8 21 A0 02  B0 17 00 CB   CF 00 00 F4  22 F0 00 02       
>00000160  F4 22 F0 00  04 F4 23 F0   00 BF 04 A9  A9 02 B0 17       
>00000170  00 CA C5 00  00 F3 22 F0   47 40 21 1B  0F 00 02 F3       
>00000180  22 F0 00 04  F3 23 F0 00   B7 59 70 49  02 B0 17 00       
>00000190  C9 C5 00 00  F7 22 F0 00   02 F7 22 F0  00 04 F7 23      
>000001A0  F0 00 92 9A  F2 96 02 B0   17 00 C8 FD  00 00 F1 22      
>000001B0  F0 00 02 F1  22 F0 00 04   F1 23 F0 00  56 ED AF 75       
>000001C0  FF FF FF FF  FF FF FF FF   FF FF FF FF  FF FF FF FF       
>000001D0  FF FF FF FF  FF FF FF FF   FF FF FF FF  FF FF FF FF       
>000001E0  FF FF FF FF  FF FF FF FF   FF FF FF FF  FF FF FF FF       
>000001F0  FF FF FF FF  FF FF FF FF   FF FF FF FF  FF FF FF FF       
>00000200  FF FF FF FF  FF FF FF FF   FF FF FF FF  FF FF FF FF       
>00000210  FF FF FF FF  FF FF FF FF   FF FF FF FF  FF FF FF FF       
>00000220  FF FF FF FF  FF FF FF FF   FF FF FF FF  FF FF FF FF       
>00000230  FF FF FF FF  47 40 21 1C   00 02 B0 12  00 DE C9 00      
>00000240  00 F0 01 F0  00 04 F0 01   F0 00 84 F0  EB 25 02 B0       
>00000250  12 00 DD CD  00 00 F0 02   F0 00 04 F0  02 F0 00 48       
>00000260  8D 10 52 02  B0 17 00 D1   D9 00 00 F2  22 F0 00 02       
>00000270  F2 22 F0 00  04 F2 23 F0   00 E9 C2 E1  16 02 B0 17       
>00000280  00 DC D1 00  00 F8 22 F0   00 02 F8 22  F0 00 04 F8      
>00000290  23 F0 00 50  BA 30 3C 02   B0 17 00 D3  F9 00 00 F5      
>000002A0  22 F0 00 02  F5 22 F0 00   04 F5 23 F0  00 04 2D A7       
>000002B0  42 02 B0 17  00 CD C9 00   00 F6 22 F0  00 02 F6 22       
>000002C0  F0 00 04 F6  23 F0 00 16   C8 21 A0 02  B0 17 00 CB 
>000002D0  CF 00 00 F4  22 F0 00 02   F4 22 F0 00  04 F4 23 F0      
>000002E0  00 BF 04 A9  A9 02 B0 17   00 CA C5 00  00 F3 22 F0       
>000002F0  47 40 21 1D  0F 00 02 F3   22 F0 00 04  F3 23 F0 00       
>




-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.


Home | Main Index | Thread Index