Mailing List archive

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

[linux-dvb] Re: Help on use of DMX_OUT_TAP (II)



On Tue, 2003-06-03 at 10:15, Tim Wiffen wrote:
> I am not convinced that the poll method is better.  When I switched from
> GCC 2.95 to GCC 3.2 I found that dvbtune stopped being able to read PSI
> tables.

I had some discussion with Dave Chapman the author of dvbtune about
this.

Basically, the code misuses the poll system call (Johannes alludes to
this in his reply).

I've got a half-baked patch to the code if anyone wants it. I probably
out to give it do Dave to put back into the master source code.

In a nutshell I found two related problems.

Firstly, the timeout is too short. The 2 seconds given isn't long enough
for my local transmitter which sends the information every 10 seconds.
Allowing for a little error I replaced the 2000 with 12000 to allow 12
seconds which should give it two attempts with a little space for
overlap.

More serious is the use of the return code.

To summarise the manual page Johannes referred to, poll returns -1 on an
ERROR, 0 on a TIMEOUT and a positive value for the number of file
descriptors that actually worked. So the correct test should be
something like poll (&ufd, 1, 12000) <= 0.

Even that isn't perfect as it assumes that all the data is available at
once (which, I admit, it does seem to be).

It would appear to me that what we need is a nice user-mode interface to
the DVB API. There seems to be a serious attempt at this with dvbsak's
libdvbsak. However, I can't seem to find any documentation on it which
is a pity as it seems an excellent starting point.

Comments anyone?

Jim.



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



Home | Main Index | Thread Index