On Thu, 9 Oct 2003, Paul Davis wrote:
How I
understand it - and I could need some clarification from the
real driver pros - one of the goals of ALSA was to modularize driver
architecture and get more tasks away from the kernel to user land or
expressed another way: abstract software design from hardware design.
This in turn should make it easier to write drivers for ALSA or maybe
easier to write drivers that provide more functionality?
Am I describing this somehow correctly?
almost. i think it would be more accurate to say "easier to write
drivers for ALSA and easier to provide additional functionality in
userspace via alsa-lib". IMHO the core idea of ALSA is to limit
drivers to simply exporting the capabilities of the hardware up to
user space, and leaving it to alsa-lib to do various things with
that. this is quite different to OSS, in which all the action is in
the kernel. in addition, a lot of code in the kernel is shared between
drivers.
but note: compared to OS X, writing drivers for ALSA is still
disturbingly complex. this is mostly due to OS X's use of C++ within
the kernel, and so there's not much ALSA can do about this.
Hi,
You say that the alsa kernel drivers export the hardware capabilities to
user level.
Would it be possible to write an API in C++ for ALSA then, basically
not using the alsalib, but the fast hardware abstraction ?
Guenter