Mailing List archive

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

[linux-dvb] Incorrect transport packet header



Douglas Kosovic writes:
 > I'm trying to filter some DVB SI packets with the latest driver in CVS
 > (I'm using a Rev 2.1 card). The first 3 bytes when I filter say for
 > example the EIT (PID 0x12) are always:
 > 
 >   47 00 12 ...
 > 
 > where 0x47 is the sync byte and 0x12 the EIT PID as expected, but the
 > second byte is always 0. So it appears that the
 > payload_unit_start_indicator bit (which is part of the 2nd byte) is
 > never set to to '1'. That bit if set, is suppose to indicate that the
 > packet carries the first byte of the SI section.
 > 
 > All I'm doing is just the following:
 > 
 >   pesFilterParams.pid = 0x12;
 >   pesFilterParams.input = DMX_IN_FRONTEND;
 >   pesFilterParams.output = DMX_OUT_TS_TAP;
 >   pesFilterParams.pesType = DMX_PES_OTHER;
 >   pesFilterParams.flags = DMX_IMMEDIATE_START;
 >   if (ioctl(fd_demux3, DMX_SET_PES_FILTER, &pesFilterParams) < 0)
 >     return(1); 
 >   printf("EIT filter OK\n");
 >   
 >   while (1) {
 >     len=read(fd_dvr, buf, 4096);
 >     if (len>0) write (dvrout, buf, len);
 >   }
 > 
 > Am I doing something wrong, or is it a bug?


You should use a section filter for filtering sections.
We do not support conversion of section data back to TS data, only of
PES data. What you are getting are TS packets which were reconstructed
from the output of a hardware filter which delivers the TS payload but
assuming this payload is PES.
If you can tell us an algorithm which can reliably convert a "TS
payload stream" back into TS packets containing section data we could
include that into the driver. The real problem with this is 
that this "TS payload stream" does not contain any information about 
when the payload of a new TS packet starts, which would be 
exactly the payload start indicator you are after.

With the WinTV Nova card this problem does not exist because we get
the original TS from the card.


Ralph


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



Home | Main Index | Thread Index