Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Help implementing teletext parser
I've written a short program which sets a PES filter for the teletext PID and
I am attempting to understand the data that I am receiving from my DVB card.
I'm using a recent (i.e. 25th Jan) CVS version of the driver, the old API and
a Hauppauge card. Teletext re-insertion on the composite output works
perfectly.
I'm setting bitfilter.pid to 2306 (the tt_pid for my test channel - BBC
Parliament on Astra 2A), and the first PES filter to 0xBD. The rest of the
filters are 0.
I then read 8 bytes from the device - bytes 4 and 5 return my pid (2306), and
bytes 6 and 7 contain a length of 448 bytes. I then do a second read on the
device, and it gives me those 448 bytes (and no more - I've tried!).
The first 44 bytes of this data appears to be some kind of header. This is
followed by 0x10 (the identifier for EBU teletext), and then a series of 46
byte records contain what should be the actual teletext data. However after
8 full records of 46 bytes, the last one contains only 35 bytes.
Further reads to the device repeat the same pattern - 8 bytes followed by 448
bytes.
The ETSI standard (EN 300 472) states that the "PES_packet_length" is set to
"N*184 - 6" - where N is the number of the above mentioned 46 byte records.
Where is the PES_packet_length?
Any clarification gratefully received - am I doing something very stupid?
Regards,
Dave.
---
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index