|
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.
|