[linux-dvb] Read Error from DVB device
guidod-2003- at gmx.de
Fri Jan 6 06:36:36 CET 2006
Rusty Scott wrote:
> I have tried to search through past topics to see if this has been brought up
> before. If this is old news/already fixed please accept my apologies.
> I have a small program that reads from the dvr device under adapter0. All it is
> doing is looping and displaying the PIDs of packets it receives. The frontend
> is tuned and the dmx is set to 0x2000. While looping the read() call will
> sometimes return with a -1 and perror() reports "value to large for defined
> data type". Has anyone else seen this behavior? I have a pcHDTV HD3000 card.
> The problem exists on both SuSE 10 (kernel 2.6.13), FC4 (kernel 2.6.14) as well
> as in an old version from CVS running on 2.6.10. If no one else has seen this
> behavior, I will grab the latest CVS to see if it is still there. Not sure if
> it is card specific or not.
The error is called EOVERFLOW in the kernel - that error is VERRRRY
usual - it is caused when SOME OTHER DRIVER blocks the kernel for too
long such that the dvb driver can not fetch data from the card's buffer
so that the buffer overflows. On my system I can consistently
reproduce the error with deleting a multi-gigabyte file on an ext3
partition. The topic has come up multiple times but no solution exists.
(increasing the buffer did not help). At best, teach your software to
ignore EOVERFLOW - most mpeg decoders are fine with a few missing blocks
in the stream. Or, check what other programs are running that may
interfere with the dvb stream programs.
-- guido http://google.de/search?q=guidod
GCS/E/S/P C++/++++$ ULHS L++w- N++@ s+:a d->++ r+@>+++ y++ (geekcode)
More information about the linux-dvb