From: Steve B. <sb...@co...> - 2002-04-15 17:49:36
|
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 G@!....."....#.. 00000010 B7 59 70 49 02 B0 17 00 C9 C5 00 00 F7 22 F0 00 .YpI.........".. 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 .#..V..u........ 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 ............G@!. 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 .......H..R..... 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 ..."....#..P.0<. 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 ..#...-.B....... 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 ......".G@!..... 00000180 22 F0 00 04 F3 23 F0 00 B7 59 70 49 02 B0 17 00 "....#...YpI.... 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 ...."....#..V..u 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 ....G@!......... 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 ...............H 00000260 8D 10 52 02 B0 17 00 D1 D9 00 00 F2 22 F0 00 02 ..R........."... 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 #..P.0<......... 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 B........."...." 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 G@!....."....#.. |