summaryrefslogtreecommitdiff
path: root/doc/doxygen/apinotes.txt
diff options
context:
space:
mode:
authorGary Scavone <gary@music.mcgill.ca>2012-06-13 20:27:59 +0000
committerStephen Sinclair <sinclair@music.mcgill.ca>2013-10-11 01:38:30 +0200
commit5d8514d7eb3918a947ec97b45f4105630c64468d (patch)
tree6f77b4faa95b24b978de75e7a78ecbb223be0707 /doc/doxygen/apinotes.txt
parent758cf4789a38b161024f5371fd041b5489cf9921 (diff)
Mutex removal from several APIs, addition of PulseAudio support, documentation updates for 4.0.11 release.
Diffstat (limited to 'doc/doxygen/apinotes.txt')
-rw-r--r--doc/doxygen/apinotes.txt4
1 files changed, 1 insertions, 3 deletions
diff --git a/doc/doxygen/apinotes.txt b/doc/doxygen/apinotes.txt
index 1d369b6..fc80714 100644
--- a/doc/doxygen/apinotes.txt
+++ b/doc/doxygen/apinotes.txt
@@ -4,14 +4,12 @@ RtAudio is designed to provide a common API across the various supported operati
\section linux Linux:
-RtAudio for Linux was developed under Redhat distributions 7.0 - Fedora. Three different audio APIs are supported on Linux platforms: <A href="http://www.opensound.com/oss.html">OSS</A> (versions >= 4.0), <A href="http://www.alsa-project.org/">ALSA</A>, and <A href="http://jackit.sourceforge.net/">Jack</A>. Note that RtAudio now only supports the newer version 4.0 OSS API. The ALSA API is now part of the Linux kernel and offers significantly better functionality than the OSS API. RtAudio provides support for the 1.0 and higher versions of ALSA. Jack is a low-latency audio server written primarily for the GNU/Linux operating system. It can connect a number of different applications to an audio device, as well as allow them to share audio between themselves. Input/output latency on the order of 15 milliseconds can typically be achieved using any of the Linux APIs by fine-tuning the RtAudio buffer parameters (without kernel modifications). Latencies on the order of 5 milliseconds or less can be achieved using a low-latency kernel patch and increasing FIFO scheduling priority. The pthread library, which is used for callback functionality, is a standard component of all Linux distributions.
+RtAudio for Linux was developed under Redhat distributions 7.0 - Fedora. Four different audio APIs are supported on Linux platforms: <A href="http://www.opensound.com/oss.html">OSS</A> (versions >= 4.0), <A href="http://www.alsa-project.org/">ALSA</A>, <A href="http://jackit.sourceforge.net/">Jack</A>, and <A href="http://www.freedesktop.org/wiki/Software/PulseAudio">PulseAudio</A>. Note that RtAudio now only supports the newer version 4.0 OSS API. The ALSA API is now part of the Linux kernel and offers significantly better functionality than the OSS API. RtAudio provides support for the 1.0 and higher versions of ALSA. Jack is a low-latency audio server written primarily for the GNU/Linux operating system. It can connect a number of different applications to an audio device, as well as allow them to share audio between themselves. Input/output latency on the order of 15 milliseconds can typically be achieved using any of the Linux APIs by fine-tuning the RtAudio buffer parameters (without kernel modifications). Latencies on the order of 5 milliseconds or less can be achieved using a low-latency kernel patch and increasing FIFO scheduling priority. The pthread library, which is used for callback functionality, is a standard component of all Linux distributions.
The ALSA library includes OSS emulation support. That means that you can run programs compiled for the OSS API even when using the ALSA drivers and library. It should be noted however that OSS emulation under ALSA is not perfect. Specifically, channel number queries seem to consistently produce invalid results. While OSS emulation is successful for the majority of RtAudio tests, it is recommended that the native ALSA implementation of RtAudio be used on systems which have ALSA drivers installed.
The ALSA implementation of RtAudio makes no use of the ALSA "plug" interface. All necessary data format conversions, channel compensation, de-interleaving, and byte-swapping is handled by internal RtAudio routines.
-At the moment, only one RtAudio instance can be connected to the Jack server.
-
\section macosx Macintosh OS-X (CoreAudio and Jack):
The Apple CoreAudio API is designed to use a separate callback procedure for each of its audio devices. A single RtAudio duplex stream using two different devices is supported, though it cannot be guaranteed to always behave correctly because we cannot synchronize these two callbacks. The <I>numberOfBuffers</I> parameter to the RtAudio::openStream() function has no affect in this implementation.