Mailing List archive

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

[linux-dvb] Filter restart if no data in the begining



CC: linux-dvb

On 04 Nov 2002 Klaus Schmidinger <Klaus.Schmidinger@cadsoft.de> wrote:

> Maybe its the driver that doesn't deliver audio data on APID2 if there is none
> from the very beginning?

This could be. Playing around with sectional filters I found such
a behaviour. If you setup such a filter and there is no data
available, you get a "connection timed out" error after about 30
seconds and no further data is delivered even if there is data
later. The only way to get data, is to stop and restart the
filter.

Older drivers doesn't show this (means, they start delivering
data even if there was no data in the beginning).

May be this applies to PES filters too. It may be more
complicated, as we doesn't read the filter directly but throught
the DVR device.

I see, that you don't check the read() return value in
cTSBuffer::Read() for errors. For debugging we could add
something like this (no real patch):

  int r = read(f, buf + tsWrite, free);
  if (r > 0) {
    ...
    }
+ else if ( r<0 && errno!=EAGAIN )
+   dsyslog("Read error in cTSBuffer::Read(): %s\n",strerror(errno);

-- 
Stefan Huelswitt
huels@iname.com  | http://home.pages.de/~nathan


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



Home | Main Index | Thread Index