Hi,
If section_number = last_section_number = 0 it means that
PAT is formed of only one TS packet, and all the information about the
programs (in fact the different PMTs) exists in those 45 bytes that you say the
section_lenght is.
It is as simple as that!
All the best, Aurelian
----- Original Message -----
Sent: Friday, January 31, 2003 3:30
PM
Subject: [linux-dvb] Re: PAT/PMT
decoding
>> On Fri, Jan 31, 2003 at 10:53:22AM -0000, Andy
Coates wrote: >>> >>> I'm going insane trying to find
documentation on the PAT/PMT data >>> structures (similar to the
SI information for descriptors found in >>> ETSI EN 300 468).
>>> >>> Does anyone on here know which documents I
should be looking at? >> >> The MPEG-2 spec, ISO-13818-1
(aka ITU-T H.222). > > Perfect, thanks guys.
Carrying on
from this, can someone who's used to decoding these tables tell me if the
following hex dump of part of a TS packet (PID 0) is producing a PAT
section_number and last_section_number of 0?
47 40 00 1f 00 00 b0 2d 07
f3 ef 00 00 00 00 e0 10 12 08 e1 04 14 56 e1 03 14 78 e1 06 14 79 e1 07 14
ab e1 05 15 82 e1 00 16 aa e1 02 16 ac e1 01 94 71 3f de ff (rest is
padded with ff)
Looking at the structure, the 8th byte above would be
the section_length, which is apparently 45 in this case
(0x2d). Transport_stream_id would be 0x07f3, and the version_number would
be (0xef & 0x3E = decimal 46). The next 2 bytes are therefore 00
and 00, which represent the section_number and
last_section_number.
Since there's no difference in the section
numbers, there's no loop to iterate through to produce the association
tables.
I've also run decode_pat (from libdvbpsi) on that stream, and
it shows the version_number to be 23 and does list quite a few
program_number's (as if there is some data to iterate through).
So
have I decoded that packet wrong?
Sorry if this is off topic, I can't
think of anywhere else that would deal with this sort of
programming.
Thanks, Andy.
-- Info: To
unsubscribe send a mail to listar@linuxtv.org with "unsubscribe
linux-dvb" as subject.
|