Mailing List archive

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

[linux-dvb] Incorrect transport packet header



Hi,

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?

Thanks,
Doug.


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



Home | Main Index | Thread Index