erik quanstrom wrote:

>> I don't see the complexity, the interface merely needs to allow device
>> drivers to provide the information such as "I support x y z", the
>> application can query a "features" file, select a format and write back
>> through the interface configuring the hardware.  The interface need not
>> have any predetermined knowledge of available formats.  The only issue
>> would be for each device driver to agree to call the same format by the
>> same name, "s8 s16le s24be".
> 
> i think you're ignoring the complexity.  suppose we wish to
> support 10 formats.  suppose that i have devices that support
> all 10 formats.  then there are 90 different conversions to do
> to fill in the gaps.  now suppose that we pick a format.  then
> we need to write 10 conversions.  also each driver potentially
> needs 1 conversion.  if we want to write things like audio
> mixers or whatnot in software, we only need to support 1 input
> and 1 output format.
It's a matter of kernelspace vs userspace and freedom.

Nothing I have proposed prevents you from using a single format.
Nothing I have proposed requires you to implement N formats or
conversions.  This is because I allow for your freedom to do so in
userspace.

Rather, your suggestion of forcing a single format, prevents my
applications from using other formats, and it requires I implement
conversions.  This is because you limit freedom by placing a simple
interface into kernelspace.

If you desire a simple audio server to glue simple audio applications it
can be done in userspace, a |filter program can be used by an audio
server on top of the device driver.  The scope of the complexity of
which is completely up to you.

Reply via email to