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