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