Mailing List archive

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

[linux-dvb] Re: Bug in ring buffer implementation



At 03:10 08/02/2003, you wrote:
Hi,

while reading through the driver sources, I found that the free byte
count of the ring buffers is not calculated correctly.

In the current implementation, code like this is used (example taken
from dmxdev.c):

Obviously a ring buffer of size <n> cannot hold more than <n-1> bytes.
Otherwise you cannot distinguish between an empty and a full buffer.
OMG you're a genius. I think this explains the numerous "buffer empty" messages we've been seeing in vdr without having been able to fix them with a higher buffer. It also looks like the UK tuning problems / ring buffer overflows with BBC2 / BBC News 24 and some other channels are related to this and the new head driver. Why the bug would only be exposed primarily with those two channels in transfer mode to a full featured DVB-s card - who knows...

At least BBC2 is quite stable when tuning to it with lots of "buffer empty" messages. I don't think I've found all positions to apply the patch to but the one in dmxdev.c and one in av7110.c . Hope someone with more knowledge can fix this throughly in the CVS. Looking forward to it! Thx!

- Gregor


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



Home | Main Index | Thread Index