From 09f30ba2d633bb2848c4acf3b9726e2fee09ed96 Mon Sep 17 00:00:00 2001 From: Stan Seibert <volsung@xiph.org> Date: Sun, 5 Aug 2001 02:35:30 +0000 Subject: [PATCH] Documentation update. git-svn-id: http://svn.xiph.org/trunk/ao@1683 0101bb08-14d6-0310-b084-bc0e0c8e3800 --- CHANGES | 8 ++ README | 10 +-- TODO | 8 +- doc/ao_append_option.html | 4 +- doc/ao_close.html | 4 +- doc/ao_default_driver_id.html | 4 +- doc/ao_device.html | 4 +- doc/ao_driver_id.html | 4 +- doc/ao_driver_info.html | 4 +- doc/ao_driver_info_list.html | 4 +- doc/ao_free_options.html | 4 +- doc/ao_info.html | 4 +- doc/ao_initialize.html | 4 +- doc/ao_open_file.html | 4 +- doc/ao_open_live.html | 4 +- doc/ao_option.html | 4 +- doc/ao_play.html | 4 +- doc/ao_plugin_close.html | 4 +- doc/ao_plugin_device_clear.html | 4 +- doc/ao_plugin_device_init.html | 4 +- doc/ao_plugin_driver_info.html | 4 +- doc/ao_plugin_open.html | 4 +- doc/ao_plugin_play.html | 4 +- doc/ao_plugin_set_option.html | 4 +- doc/ao_plugin_test.html | 4 +- doc/ao_sample_format.html | 4 +- doc/ao_shutdown.html | 4 +- doc/config.html | 4 +- doc/drivers.html | 4 +- doc/index.html | 6 +- doc/libao-api.html | 4 +- doc/overview.html | 4 +- doc/plugin-api.html | 6 +- doc/plugin-overview.html | 139 ++++++++++++++++++++++++++++++-- 34 files changed, 212 insertions(+), 77 deletions(-) diff --git a/CHANGES b/CHANGES index d39335e..a55b361 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,11 @@ +0.8.0 - August 2000 +- Major API rewrite. Old apps and plugins will not work with this library! +- Default driver detection now works. +- /etc/libao.conf and ~/.libao config files now supported + +0.7.0 - June 2000 +- minor build fixes for different platforms + 0.6.0 - December 2000 - slight api modification with ao_append_option() - fixed an option leak diff --git a/README b/README index ec87703..96ef929 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -libao - A Cross-platform Audio Library, Version 0.6.0 +libao - A Cross-platform Audio Library, Version 0.8.0 Originally Copyright (C) Aaron Holtzman - May 1999 Changes Copyright (C) Stan Seibert - July 2000 @@ -44,12 +44,10 @@ cross-platform support to ogg123. I (Stan Seibert) downloaded the libao library, severely hacked it up in order to make the build process simpler and support multiple live-playback devices. (The original code allowed one live playback driver, the wav driver, and a -null driver to be compiled into the library.) - -Then Jack Moffitt got it supporting dynamicly loaded plugins so that -binary versions of libao could be provided. +null driver to be compiled into the library.) Jack Moffitt got it +supporting dynamically loaded plugins so that binary versions of libao +could be provided. The API was revised after version 0.7.0. This code is being maintained by Stan Seibert (indigo@aztec.asu.edu) and various other individuals. Please DO NOT annoy Aaron Holtzman about bugs, features, comments, etc. regarding this code. - diff --git a/TODO b/TODO index 11a6ca1..6bfdb55 100644 --- a/TODO +++ b/TODO @@ -2,5 +2,11 @@ I think these are the next steps: - make the plugins dynamically loadable (done) - make a ao-config liek gtk-config instead of ao_libs.inc (done) -- any ideas? +- extend the configuration files to allow default options for + each driver +- Sample rate conversion on the fly to support sound cards that have few + sample rate options (like the i810 audio device, which only does 48000) +- Actually test the IRIX plugin. :) +- Test the macosx plugin + diff --git a/doc/ao_append_option.html b/doc/ao_append_option.html index f52955d..bb380fa 100644 --- a/doc/ao_append_option.html +++ b/doc/ao_append_option.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -59,7 +59,7 @@ int ao_append_option(<a href="ao_option.html">ao_option</a> **options, const cha <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_close.html b/doc/ao_close.html index e78bf54..2a2f128 100644 --- a/doc/ao_close.html +++ b/doc/ao_close.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -54,7 +54,7 @@ device was writing to a file, the file may be corrupted.</li> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_default_driver_id.html b/doc/ao_default_driver_id.html index 1942768..2226426 100644 --- a/doc/ao_default_driver_id.html +++ b/doc/ao_default_driver_id.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -53,7 +53,7 @@ to test your application.</p> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_device.html b/doc/ao_device.html index 3f3806b..2c4ad30 100644 --- a/doc/ao_device.html +++ b/doc/ao_device.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -79,7 +79,7 @@ different byte orders, otherwise set to NULL</dd> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_driver_id.html b/doc/ao_driver_id.html index 703e2a7..9bb6c10 100644 --- a/doc/ao_driver_id.html +++ b/doc/ao_driver_id.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -54,7 +54,7 @@ drivers</a> for valid short names.</dd> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_driver_info.html b/doc/ao_driver_info.html index 6cad651..37050b2 100644 --- a/doc/ao_driver_info.html +++ b/doc/ao_driver_info.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -57,7 +57,7 @@ an actual driver</li> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_driver_info_list.html b/doc/ao_driver_info_list.html index c1aa042..661dc0d 100644 --- a/doc/ao_driver_info_list.html +++ b/doc/ao_driver_info_list.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -53,7 +53,7 @@ elements.</li> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_free_options.html b/doc/ao_free_options.html index d342f29..9bce7fc 100644 --- a/doc/ao_free_options.html +++ b/doc/ao_free_options.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -46,7 +46,7 @@ function does nothing.</dd> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_info.html b/doc/ao_info.html index 2ea0311..c3292ef 100644 --- a/doc/ao_info.html +++ b/doc/ao_info.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -84,7 +84,7 @@ driver.</dd> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_initialize.html b/doc/ao_initialize.html index ef4b596..c60fd42 100644 --- a/doc/ao_initialize.html +++ b/doc/ao_initialize.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -49,7 +49,7 @@ ao_shutdown(), then call ao_initialize() again. <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_open_file.html b/doc/ao_open_file.html index c85fd08..95876d1 100644 --- a/doc/ao_open_file.html +++ b/doc/ao_open_file.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -90,7 +90,7 @@ just the input sample format. <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_open_live.html b/doc/ao_open_live.html index bcfaac0..58594ac 100644 --- a/doc/ao_open_live.html +++ b/doc/ao_open_live.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -76,7 +76,7 @@ href="ao_open_file.html">ao_open_file()</a> instead. <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_option.html b/doc/ao_option.html index 3b92104..2410d77 100644 --- a/doc/ao_option.html +++ b/doc/ao_option.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -50,7 +50,7 @@ the list.</dd> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_play.html b/doc/ao_play.html index 0e55e70..7d18769 100644 --- a/doc/ao_play.html +++ b/doc/ao_play.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -58,7 +58,7 @@ int ao_open(<a href="ao_device.html">ao_device</a> *device, void *output_samples <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_plugin_close.html b/doc/ao_plugin_close.html index 4545b37..d4ef3c7 100644 --- a/doc/ao_plugin_close.html +++ b/doc/ao_plugin_close.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -52,7 +52,7 @@ device was writing to a file, the file may be corrupted.</li> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_plugin_device_clear.html b/doc/ao_plugin_device_clear.html index 262948a..2fd9230 100644 --- a/doc/ao_plugin_device_clear.html +++ b/doc/ao_plugin_device_clear.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -44,7 +44,7 @@ void ao_plugin_device_clear(<a href="ao_device.html">ao_device</a> *device); <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_plugin_device_init.html b/doc/ao_plugin_device_init.html index d251c60..50e916f 100644 --- a/doc/ao_plugin_device_init.html +++ b/doc/ao_plugin_device_init.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -58,7 +58,7 @@ called to ensure the deallocate of all private data structures.</li> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_plugin_driver_info.html b/doc/ao_plugin_driver_info.html index 782b4e6..37d54cd 100644 --- a/doc/ao_plugin_driver_info.html +++ b/doc/ao_plugin_driver_info.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -45,7 +45,7 @@ not be modified. </li> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_plugin_open.html b/doc/ao_plugin_open.html index 3d58c2c..bc0705b 100644 --- a/doc/ao_plugin_open.html +++ b/doc/ao_plugin_open.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -62,7 +62,7 @@ called to ensure the deallocate of all private data structures.</li> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_plugin_play.html b/doc/ao_plugin_play.html index 7318449..6d8b243 100644 --- a/doc/ao_plugin_play.html +++ b/doc/ao_plugin_play.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -61,7 +61,7 @@ called.</li> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_plugin_set_option.html b/doc/ao_plugin_set_option.html index cd7474c..80291aa 100644 --- a/doc/ao_plugin_set_option.html +++ b/doc/ao_plugin_set_option.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -64,7 +64,7 @@ called to ensure the deallocate of all private data structures.</li> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_plugin_test.html b/doc/ao_plugin_test.html index af8b8b5..47f35db 100644 --- a/doc/ao_plugin_test.html +++ b/doc/ao_plugin_test.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -50,7 +50,7 @@ options.</li> <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_sample_format.html b/doc/ao_sample_format.html index 1152fa0..b358c13 100644 --- a/doc/ao_sample_format.html +++ b/doc/ao_sample_format.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -53,7 +53,7 @@ <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/ao_shutdown.html b/doc/ao_shutdown.html index d544b76..e0bc71f 100644 --- a/doc/ao_shutdown.html +++ b/doc/ao_shutdown.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -46,7 +46,7 @@ calling ao_shutdown(). <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/config.html b/doc/config.html index 72fe37d..749a86a 100644 --- a/doc/config.html +++ b/doc/config.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -47,7 +47,7 @@ There can be no extra spaces anywhere on the line. Comment lines begin with a < <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/drivers.html b/doc/drivers.html index bfffb44..919890b 100644 --- a/doc/drivers.html +++ b/doc/drivers.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -200,7 +200,7 @@ easily used to define an appropriate default output device <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/index.html b/doc/index.html index 44c51b5..db33303 100644 --- a/doc/index.html +++ b/doc/index.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -32,7 +32,7 @@ platforms. It currently supports: <a href="ao_example.c">example code</a><br> <a href="config.html">configuration files</a><br> <a href="libao-api.html">libao api reference</a><br> -<a href="plugin-overview.html">plugin overview</a><br> +<a href="plugin-overview.html">plugin writer's overview</a><br> <a href="plugin-api.html">plugin api reference</a><br> <br><br> @@ -43,7 +43,7 @@ platforms. It currently supports: <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/libao-api.html b/doc/libao-api.html index e52c8e8..6b43227 100644 --- a/doc/libao-api.html +++ b/doc/libao-api.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -51,7 +51,7 @@ <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/overview.html b/doc/overview.html index 3898ddc..2d8a9e0 100644 --- a/doc/overview.html +++ b/doc/overview.html @@ -9,7 +9,7 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> @@ -100,7 +100,7 @@ library. <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/plugin-api.html b/doc/plugin-api.html index 5e2c7bc..772db4e 100644 --- a/doc/plugin-api.html +++ b/doc/plugin-api.html @@ -9,11 +9,11 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> -<h1>Plugin API</h1> +<h1>libao Plugin API</h1> <p> <a href="ao_plugin_test.html">ao_plugin_test()</a><br> @@ -33,7 +33,7 @@ <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> diff --git a/doc/plugin-overview.html b/doc/plugin-overview.html index 9f6ca55..5273871 100644 --- a/doc/plugin-overview.html +++ b/doc/plugin-overview.html @@ -9,24 +9,147 @@ <table border=0 width=100%> <tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> -<h1>libao Plugin Overview</h1> +<h1>libao Plugin Writer's Overview</h1> <p> Plugins are drivers that are loaded dynamically when libao is first initialized by the client application. Drivers that are operating -system dependent, like the <tt>oss</tt> and <tt>sun</tt> drivers, or that -depend on external libraries, like the <tt>esd</tt> driver, must be -implemented as plugins in order to keep binary packagers happy. +system dependent, like the <tt>oss</tt> and <tt>sun</tt> drivers, or +that depend on external libraries, like the <tt>esd</tt> driver, must +be implemented as plugins in order to keep binary packagers happy. +There are also statically linked drivers, which are written in a +nearly identical way, but won't be covered here. In nearly all cases, +a dynamically loadable plugin is the preferred way to write a driver, +and the required way if the driver depends upon any external +libraries. +</p> + +<h2>Life Cycle</h2> + +<p> +The life cycle of a plugin is: +<ul> +<li>When libao is first <a href="ao_initialize.html">initialized</a>, +it loads all of the plugins from disk. + +<li>Libao then <a href="ao_plugin_test.html">tests</a> each plugin to +see if can be used as the default driver. + +<li>When the user opens a device, libao will: + + <ul> + + <li>Call <a + href="ao_plugin_device_init.html">ao_plugin_device_init()</a> to + allow the plugin to allocate and initialize any private data + structures it will use. + + <li>Call <a + href="ao_plugin_set_option.html">ao_plugin_set_option()</a> for each + parameter passed to the library by the client application. + + <li>Call <a href="ao_plugin_open.html">ao_plugin_open.html</a> to + open the device for playback. + + </ul> + +<li>Each time the client app calls <a +href="ao_play.html">ao_play()</a>, the library will reorder the byte +format (little-endian vs. big-endian) to match the format requested by +the plugin. The library will then call <a href="ao_plugin_play.html">ao_plugin_play()</a> for the block of audio data. + +<li>When the client app closes the audio device, the library calls <a +href="ao_plugin_close.html">ao_plugin_close()</a> to close the device, +followed by a call to <a +href="ao_plugin_clear.html">ao_plugin_device_clear()</a> to deallocate +the private data structures. + +<li>When the library is <a href="ao_shutdown.html">shutdown</a>, the +plugin will be unloaded from memory. + +</ul> + +In case of errors, <a +href="ao_plugin_device_clear.html">ao_plugin_device_clear()</a> will +always be called if <a +href="ao_plugin_device_init.html">ao_plugin_device_init()</a> executed +successfully. Similarly, <a +href="ao_plugin_close.html">ao_plugin_close()</a> will always be +called if <a href="ao_plugin_open.html">ao_plugin_open()</a> executed +successfully. +</p> + +<h2>Creating a New Plugin</h2> <p> -In order to make a new plugin, follow these steps: +In order to write a new plugin, follow these steps: <ul> -<li>To be filled in. + +<li>Decide upon a new short name for your plugin. It should be less +than 8 characters and contain only alphanumeric characters +(underscores are okay, but discouraged). + +<li>Make a new directory in the src/plugins directory with the short name of your plugin. + +<li>Copy the contents of one of the other plugin directories into your +directory. The Sun driver is a good example of a driver that uses +system devices for output, and the ALSA driver is a good example of a +plugin that uses an external library. Rename the source file to ao_shortname.c, where "shortname" is the short name of your plugin. + +<li>Edit the <a href="ao_info.html">ao_info</a> structure. + +<li>Implement the all of the methods defined in the <a +href="plugin-api.html">plugin API</a>. + +<li>Edit the files ("shortname" is as described above): configure.in, +src/plugins/Makefile.am, src/plugins/shortname/Makefile.am. There +should be a an configure option to disable your plugin. Look at the +existing configure.in file for examples of how to do this. + +<li>Test it thoroughly! :) + +<li>Send a tarball of the src/plugin/shortname directory (only this +directory, please!) and a cvs diff -u of the changes you have made to +the <a href="mailto:vorbis-dev@xiph.org">vorbis-dev</a> list and we'll +take a look at it for inclusion. + +</ul> +</p> + +<h2>API Implementation Tips</h2> + +<p> +<ul> + +<li>Remember to close any devices/connections you openned in <a +href="ao_plugin_test.html">ao_plugin_test()</a>. <li>Although you +should try to allocate all of your data structures in <a +href="ao_plugin_device_init.html">ao_plugin_device_init()</a>, there +are cases where you won't be able to allocate memory until <a +href="ao_plugin_open.html">ao_plugin_open()</a> is called. That is +acceptable, but the rule is that you must deallocate memory in <a +href="ao_plugin_close.html">ao_plugin_close()</a> that was allocated +in <a href="ao_plugin_open.html">ao_plugin_open()</a> and deallocate +memory in <a +href="ao_plugin_device_clear.html">ao_plugin_device_clear()</a> that +was allocated in <a +href="ao_plugin_device_init.html">ao_plugin_device_init()</a>. + +<li>Don't forget to set device->driver_byte_format in <a +href="ao_plugin_open.html">ao_plugin_open()</a> to the byte ordering +your plugin needs. The libao core will reorder the bytes for you if +it necessary. + +<li>Read the <a href="drivers.html">driver documentation</a> to see +what priority you should set for your plugin in the <a +href="ao_info.html">ao_info</a> structure. + </ul> +</p> <br><br> <hr noshade> @@ -36,7 +159,7 @@ In order to make a new plugin, follow these steps: <td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:indigo@aztec.asu.edu">indigo@aztec.asu.edu</a></p></td> </tr><tr> <td><p class=tiny>libao documentation</p></td> -<td align=right><p class=tiny>libao version 0.90 - 20010528</p></td> +<td align=right><p class=tiny>libao version 0.8.0 - 20010804</p></td> </tr> </table> -- GitLab