DEVICE DRIVERS

Below are the short names of the devices that libao supports:

null
----
Null device.  This is just a test device.  It counts the
number of bytes sent, but does not write them anywhere.
    Option keys: None.

oss
---
Open Sound System.  This is the audio driver system for
Linux and Free/Net/OpenBSD as well as other UNIX-like systems.
    Option keys:
        "dsp" - set the dsp device.  By default, it tries
                "/dev/sound/dsp", followed by "/dev/dsp". 

irix
----
IRIX audio driver.  This was inherited from the original
libao, but has not been tested.  Use at your own risk.  (Better yet,
fix it!  I don't have access to an IRIX system.)
    Option keys: None.

solaris
-------
Solaris audio driver.  This was also inherited from the
original libao.  Same caveats apply.
    Option keys: None.

alsa
----
Advanced Linux Sound Architecture.  This driver borrows some code from
Jaroslav Kysela's <perex@suse.cz> GPLed aplay that is included with
the alsa-util distribution.  It defaults to device 0 on card 0.
Because of the way ALSA reads data, this driver packs sound from
successive calls into a fixed size buffer (defaults to 32kB) and sends
it to the card.
    Option keys:
       "card" - Sound card number
       "dev" - Device number on the sound card
       "buf_size" - Override the default buffer size (in bytes)
 
esd
---
ESounD audio driver.  This driver by default connects to the ESounD
Daemon on the localhost.
    Option keys:
        "host" - The hostname where esd is running. by default sound
		 is played on the local host. A port number can be
		 specified after a colon, as in "whizbang.com:555".

wav
---
WAV file output.  This produces a wav file from the audio
data you output.
    Option keys:
        "file" - Sets the output file.  By default, this is
                 "output.wav".

raw
---
Raw sample output.  Writes the sound data to disk in uncompressed,
headerless form using the byte order specified.
	Option keys:
		"file" - Sets the output file.  Use "-" if you want to write
		to stdout.  By default this is "output.raw".
		
		"byteorder" - Sets the byte order used in the output.  Use
		"native" for native machine byte order, "big" for 
		big-endian order, and "little" for little-endian order. By
		default this is "native".

au
--
Sun audio file output.  Writes an au file from the audio data you
ouput.
	Option keys:
		"file" - Sets the output file.  Use '-' to write
		to stdout.  By default this is "output.au"

ADDING NEW DRIVERS

[To be written. - Stan]
