Mailing List archive

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

[linux-dvb] Nova-T PID filtering



Hi everyone,

I've been trying the Nova-T support and I'm having a small problem with the
current CVS code.  Tuxplayer won't record - it just hangs and creates a
0-length file.  But, Dave Chapman's dvbstream works so the driver is fine.
The difference between these apps is the way the PID filtering is set up.

dvbstream.c does:

 for (i=0;i<npids;i++) {
    if((fd[i] = open("/dev/ost/demux1",O_RDWR)) < 0){
      fprintf(stderr,"FD %i: ",i);
      perror("DEMUX DEVICE: ");
      return -1;
    }
  }

  if((fd_dvr = open("/dev/ost/dvr1",O_RDONLY)) < 0){
    perror("DVR DEVICE: ");
    return -1;
  }

  /* Now we set the filters */
  for (i=0;i<npids;i++) set_ts_filt(fd[i],pids[i],pestypes[i]);

The code for set_ts_filt calls

ioctl(fd, DMX_SET_PES_FILTER, &pesFilterParams)


However, tuxplayer does the following:

   sprintf(devname2,"/dev/ost/dvr%d",device);
   if ((fddvr = open(devname2,O_RDONLY)) < 0)
    perror(devname2);
   sprintf(devname,"/dev/ost/demux%d",device);
   fddmx = open(devname, O_RDWR);
   if (ioctl(fddmx, DMX_GET_PES_PIDS, pids) < 0)
    perror("open demux");


The driver can return the PIDs (set with tzap) using ioctl DMX_GET_PES_PIDS
but they are not activated automatically?  If I fix tuxplayer to do an ioctl
DMX_SET_PES_FILTER, then it records.  It isn't clear to me if the problem is
with tuxplayer or the driver?

Finally, I must say thank you to the driver developers for their excellent
public spirited work.

Thanks

-- Ian
Cambridge UK.



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


Home | Main Index | Thread Index