Difference between revisions of "ALSA"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
m (Developement API)
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...

Development API

Tutorials

ALSA Library API

ALSA Documentation