Blame README

Packit 57f8ee
libao - A Cross-platform Audio Library, Version 0.8.6
Packit 57f8ee
Packit 57f8ee
Originally Copyright (C) Aaron Holtzman - May 1999
Packit 57f8ee
Changes Copyright (C) Jack Moffitt - October 2000
Packit 57f8ee
Changes Copyright (C) Stan Seibert - July 2000-March 2004
Packit 57f8ee
libao-pulse Copyright (C) Lennart Poettering 2004-2006
Packit 57f8ee
Changes Copyright (C) 2004-2005 Xiph.org Foundation 
Packit 57f8ee
Changes Maintainer Benjamin Gerard
Packit 57f8ee
Packit 57f8ee
libao is free software; you can redistribute it and/or modify
Packit 57f8ee
it under the terms of the GNU General Public License as published by
Packit 57f8ee
the Free Software Foundation; either version 2, or (at your option)
Packit 57f8ee
any later version.
Packit 57f8ee
Packit 57f8ee
libao is distributed in the hope that it will be useful,
Packit 57f8ee
but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 57f8ee
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit 57f8ee
GNU General Public License for more details.
Packit 57f8ee
Packit 57f8ee
You should have received a copy of the GNU General Public License
Packit 57f8ee
along with GNU Make; see the file COPYING.  If not, write to
Packit 57f8ee
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
Packit 57f8ee
Packit 57f8ee
---------------------------------------------------------------------
Packit 57f8ee
Packit 57f8ee
OVERVIEW
Packit 57f8ee
Packit 57f8ee
Libao is a cross-platform audio library that allows programs to output
Packit 57f8ee
audio using a simple API on a wide variety of platforms.  It currently
Packit 57f8ee
supports:
Packit 57f8ee
   * Null output
Packit 57f8ee
   * WAV files
Packit 57f8ee
   * OSS (Open Sound System)
Packit 57f8ee
   * ESD (ESounD or Enlightened Sound Daemon)
Packit 57f8ee
   * ALSA (Advanced Linux Sound Architecture)
Packit 57f8ee
   * PulseAudio (next generation GNOME sound server)
Packit 57f8ee
   * AIX
Packit 57f8ee
   * Solaris (untested)
Packit 57f8ee
   * IRIX (untested)
Packit 57f8ee
Packit 57f8ee
HISTORY
Packit 57f8ee
Packit 57f8ee
Libao began life as cross-platform audio library inside of ac3dec, an
Packit 57f8ee
AC3 decoder by Aaron Holtzman that is part of the LiViD project.  When
Packit 57f8ee
ogg123 (part of the command line vorbis tools) needed a way to play
Packit 57f8ee
audio on multiple operating systems, someone on the vorbis-dev mailing
Packit 57f8ee
list suggested the libao library as a possible way to add cross-platform 
Packit 57f8ee
support to ogg123. Stan Seibert downloaded the libao library, severely 
Packit 57f8ee
hacked it up in order to make the build process simpler and support 
Packit 57f8ee
multiple live-playback devices. (The original code allowed one live 
Packit 57f8ee
playback driver, the wav driver, and a null driver to be compiled into 
Packit 57f8ee
the library.) Jack Moffitt got it supporting dynamically loaded plugins 
Packit 57f8ee
so that binary versions of libao could be provided. The API was revised 
Packit 57f8ee
for version 0.8.0.
Packit 57f8ee
Packit 57f8ee
This code is being maintained by Stan Seibert (volsung@xiph.org) 
Packit 57f8ee
and various other individuals.  Please DO NOT annoy Aaron Holtzman about 
Packit 57f8ee
bugs, features, comments, etc. regarding this code.
Packit 57f8ee
Packit 57f8ee
WORKAROUNDS
Packit 57f8ee
Packit 57f8ee
The OSS emulation in ALSA deviates from the OSS spec by not returning
Packit 57f8ee
immediately from an open() call if the OSS device is already in use.
Packit 57f8ee
Instead, it makes the application wait until the device is available.
Packit 57f8ee
This is not desirable during the autodetection phase of libao, so a
Packit 57f8ee
workaround has been included in the source.  Since the workaround
Packit 57f8ee
itself violates the OSS spec and causes other problems on some
Packit 57f8ee
platforms, it is only enabled when ALSA is detected.  The workaround
Packit 57f8ee
can be turned on or off by passing the --enable-broken-oss or
Packit 57f8ee
--disable-broken-oss flag to the configure script.