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