Difference between revisions of "ALSA 0.9.x Developer documentation"
m (→Developer tutorials: Typo) |
(replace outdated sourceforge cvs link with Hg link) |
||
| (3 intermediate revisions by 2 users not shown) | |||
| 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?)] |
| Line 30: | Line 30: | ||
will have to read the code and reference other applications for more advanced | will have to read the code and reference other applications for more advanced | ||
info. | info. | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
=== Older documents === | === Older documents === | ||
| − | The [http://www.alsa-project.org/alsa-doc/alsa-howto ALSA HOWTO/FAQ documentation] tries | + | The [http://www-old.alsa-project.org/alsa-doc/alsa-howto ALSA HOWTO/FAQ documentation] tries |
to do the ALSA driver installation easier. If you have any ideas or questions | to do the ALSA driver installation easier. If you have any ideas or questions | ||
regarding this documentation, please, leave a message on | regarding this documentation, please, leave a message on | ||
the [[Mailing-lists|alsa-devel at lists.sourceforge.net]] mailing list. | the [[Mailing-lists|alsa-devel at lists.sourceforge.net]] mailing list. | ||
| − | The [http://www.alsa-project.org/~valentyn/Alsa-sound-mini-HOWTO.html ALSA-sound-mini-HOWTO] | + | The [http://www-old.alsa-project.org/~valentyn/Alsa-sound-mini-HOWTO.html ALSA-sound-mini-HOWTO] |
describes the installation of the ALSA sound | describes the installation of the ALSA sound | ||
drivers for Linux. This HOWTO is also available from the Linux Documentation Project, take | drivers for Linux. This HOWTO is also available from the Linux Documentation Project, take | ||
| Line 101: | Line 44: | ||
to find your nearest mirror. You can get this HOWTO in various formats: | to find your nearest mirror. You can get this HOWTO in various formats: | ||
| − | *[http://www.alsa-project.org/~valentyn/Alsa-sound-mini-HOWTO.html HTML (multiple documents)] | + | *[http://www-old.alsa-project.org/~valentyn/Alsa-sound-mini-HOWTO.html HTML (multiple documents)] |
| − | *[http://www.alsa-project.org/~valentyn/other-formats/Alsa-sound-mini-HOWTO.html HTML (one document)] | + | *[http://www-old.alsa-project.org/~valentyn/other-formats/Alsa-sound-mini-HOWTO.html HTML (one document)] |
| − | *[http://www.alsa-project.org/~valentyn/other-formats/Alsa-sound-mini-HOWTO.txt plain text] | + | *[http://www-old.alsa-project.org/~valentyn/other-formats/Alsa-sound-mini-HOWTO.txt plain text] |
| − | *[http://www.alsa-project.org/~valentyn/other-formats/Alsa-sound-mini-HOWTO.sgml sgml source] of the HOWTO is also available. | + | *[http://www-old.alsa-project.org/~valentyn/other-formats/Alsa-sound-mini-HOWTO.sgml sgml source] of the HOWTO is also available. |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | There is also an old [http://www-old.alsa-project.org/~jfulmer/alsa-faq.html ALSA FAQ document] from John Fulmer. | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
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.