Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: EOVERFLOW with section filter
On Tue, Jan 14, 2003 at 03:49:36PM +0100, Felix Domke wrote:
> Johannes Stezenbach wrote:
>
> >Regardless what manual pages or POSIX say, the driver implements
> >read() for section filters in such a way that you get either
> >a full section, or nothing -- provided that the buffer you pass
> >to read() is large enough for the section (else you will get
> >partial sections, but never the end of one section and the start
> >of the next section in one read).
> >
> Sorry, I think after a partitial section you read the same section
> again, since otherwise the "read 3 bytes, determine length, read whole
> section"-sheme wouldn't work. And exactly this leeds to EOVERFLOW,
> since the buffer fills and fills and no section will ever be removed
> from the buffer.
If this is true then it is a bug. The second read() should give
you the remainder of the section, and the section should then
be removed from the driver's buffer.
DVB/doc/dvbapi/demux.tex documents this behaviour of the
read() system call for section filters.
But I must admit that I haven't tested this, I always use a large
buffer and get full sections.
Regards,
Johannes
--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index