Difference between revisions of "ALSA 0.9.x Developer documentation"
(Delete alsa 0.5 links. Update others to www-old - how relevant are they?) |
(replace outdated sourceforge cvs link with Hg link) |
||
| Line 8: | Line 8: | ||
*Click [http://hg-mirror.alsa-project.org/ here to view the code online] - highlighted syntax | *Click [http://hg-mirror.alsa-project.org/ here to view the code online] - highlighted syntax | ||
| − | *Extra driver/architecture specific information is available in | + | *Extra driver/architecture specific information is available in [[Matrix:Main|Vendor and module list]] and [http://hg-mirror.alsa-project.org/alsa-kernel/file/014c234ce690/Documentation/ alsa-kernel source docs (obsolete?)] |
Latest revision as of 05:17, 12 August 2007
[edit] Background Info
The Advanced Linux Sound Architecture comes with a driver API & library API. Our aim is to describe hardware as close as possible in drivers, but in userspace, the alsa-lib covers the hardware differences (if required). It's possible for applications to control all hardware features (if required).
- Click here to view the code online - highlighted syntax
- Extra driver/architecture specific information is available in Vendor and module list and alsa-kernel source docs (obsolete?)
Q: Why is ALSA more advanced than OSS?
- kernel-space supports only h/w-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 h/w controls
- sufficiently 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...
Currently we need developers to write docs on the ctl API. Until then you will have to read the code and reference other applications for more advanced info.
[edit] Older documents
The ALSA HOWTO/FAQ documentation tries to do the ALSA driver installation easier. If you have any ideas or questions regarding this documentation, please, leave a message on the alsa-devel at lists.sourceforge.net mailing list.
The ALSA-sound-mini-HOWTO describes the installation of the ALSA sound drivers for Linux. This HOWTO is also available from the Linux Documentation Project, take a look at http://metalab.unc.edu/LDP/mirrors.html to find your nearest mirror. You can get this HOWTO in various formats:
- HTML (multiple documents)
- HTML (one document)
- plain text
- sgml source of the HOWTO is also available.
There is also an old ALSA FAQ document from John Fulmer.