Re: sb16 duplex fix

Thomas Sailer (sailer@ife.ee.ethz.ch)
Thu, 15 Oct 1998 13:57:31 +0200


Hannu Savolainen wrote:
>
> On Wed, 14 Oct 1998, Alan Cox wrote:
>
> > I would agree with this, mmap() on sound is a neat hack but it is very very
> > questionable if it is needed or useful. Its really a quake compatibility
> > feature 8)
> I second this opinion.
>
> It looks like sound devices in future will have more and more local
> buffer memory or FIFO space which makes using mmap() impossible, difficult
> or at least rather inpractical. I don't see any reason to support this
> feature in future if somebody gets the Quake folks to implement a non
> mmap() version.
>
> This feature will disappear from the OSS programmer's guide in near
> future.

I'd like to convert a few applications that now have their own sound
driver to use the standard sound driver. However, currently I can't, as
a few features are missing, namely the following:

- "true queue length": the app should be able to query the true queue
length,
including on-card FIFO buffers etc. (and possibly including codec
filter
delay)

- the application should be able to query and eventually set (within
bounds)
the wakeup latency (this is related to the fragment size)

- I need the possibility to switch between input and output (and vice
versa)
as fast as possible on half duplex cards, that means I need a
possibility
to suppress lengthy autocalibration cycles when switching. Not
necessarily
a new API element, could be implicit when read follows write and vice
versa.

- It would be nice if it was possible to tell the sound driver something
like
"only wake me up when there are at least N samples (or bytes) in the
receive queue"
and "only wake me up if there are more than N samples free in the
transmit queue
or the transmit queue contains less than M samples".

Can we agree on an API for this?

Tom

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/