Re: [LAD] ALSA doumentation

From: Hannu Savolainen <hannu@email-addr-hidden>
Date: Sun Nov 16 2008 - 23:16:19 EET

Fred Gleason kirjoitti:
> On Saturday 15 November 2008 07:22:16 pm Hannu Savolainen wrote:
>
>> ALSA's design philosophy has been to expose all aspects of the sound
>> hardware to the applications so that they can play with any of them.
>> This is all bullshit.
>>
>
> So the solution is to say "stupid application programmers, they can't be
> expected to know any better", and then hardwire logic into the driver system
> to force it to use the behavior appropriate for an MP3 player? I'm not sure
> that this is a smart design tradeoff.
>
>
>
Programmers are not stupid. However the way how typical sound
applications are implemented is wrong.
>> If you look at any kernel level subsystem such as networking or access
>> to ordinary disk files. None of such applications want to know anything
>> about the actual hardware details. I have not seen any PHP or CGI
>> scripts/programs that try to switch the NIC card to use 1 gigabit
>> signalling rate instead of the 10 mbit one supported by the network HUB.
>>
>
> Actually, I can think of cases where something like that could be extremely
> useful -- a network analyzer or monitor, for example. It's not a common
> requirement (just as altering the sample clock sync source is not a common
> requirement for most audio apps), but absolutely needed for some problem
> domains.
>
Network or disk performance analyzers/monitors/optimizers are good
tools. They are not "ordinary" applications but system tools. However
it's wrong if programs like Mozilla try to do this kind of functions.
All a web browser does is opening a TCP/IP socket to the
http/ftp/whatever server, sends the request and waits for the response.
Equally well an audio player application should just open a connection
to the audio device, set the rate/format and then just start to play.
They should not try to do things like automatic unmuting the sound card.
> One of the nice things about the Un*x design paradigm is how the goal is
> consistently been "to make simple things easy, and hard things possible".
> Unfortunately, in the world of audio APIs, it seems that we've fallen between
> two stools: we have one API that makes simple things easy, but hard things
> *impossible*, and another that makes *everything* possible, but also hard.
>
I would not call it as "making hard things impossible". The idea is to
make programmers to think twice before they start doing stupid mistakes.

Best regards,

Hannu
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
Received on Mon Nov 17 00:15:03 2008

This archive was generated by hypermail 2.1.8 : Mon Nov 17 2008 - 00:15:03 EET