ALSA: Difference between revisions
m (→ALSA over OSS) |
|||
Line 8: | Line 8: | ||
* Support for the older OSS API. | * Support for the older OSS API. | ||
==ALSA over OSS== | ==ALSA over OSS== | ||
There are many advantages ALSA has over the older OSS API: | |||
* kernel-space supports only hardware-level capabilities | |||
* multi-thread safe design | |||
* transparent use of plugin architecture to handle format,rate,channel cnt and many other conversions | |||
* support for non-interleaved interfaces | |||
* user-space software mixing ''(dmix)'' | |||
* user-space "loopback/snoop" capabilities | |||
* merging multiple cards into a single virtual device | |||
* hiding non-ALSA-drivers behind a consistent user-space API (e.g. IEEE1394 drivers, or JACK) | |||
* consistent and generic control API for managing hardware controls | |||
* Flexible mixer architecture to handle modern audio interfaces fully (rather than reducing them to a simplistic device) | |||
* consistent support for multiple instances of the same card | |||
* linked operations of multiple cards | |||
* and more... | |||
=Development API= | =Development API= |
Revision as of 19:51, 18 August 2006
Introduction
ALSA or Advanced Linux Sound Architectureis a project, which seeks to provide MIDI functionality to the Linux operating system. ALSA has the following significant features.
Features
- Effcient support for all soundcards from consumer to professional multichannel audio devices
- Fully modularized sound drivers
- SMP and thread-safe design
- alsa-lib in order to simplify the high level API
- Support for the older OSS API.
ALSA over OSS
There are many advantages ALSA has over the older OSS API:
- kernel-space supports only hardware-level capabilities
- multi-thread safe design
- transparent use of plugin architecture to handle format,rate,channel cnt and many other conversions
- support for non-interleaved interfaces
- user-space software mixing (dmix)
- user-space "loopback/snoop" capabilities
- merging multiple cards into a single virtual device
- hiding non-ALSA-drivers behind a consistent user-space API (e.g. IEEE1394 drivers, or JACK)
- consistent and generic control API for managing hardware controls
- Flexible mixer architecture to handle modern audio interfaces fully (rather than reducing them to a simplistic device)
- consistent support for multiple instances of the same card
- linked operations of multiple cards
- and more...