<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>

<HEAD>
	<TITLE>
	Secret Rabbit Code (aka libsamplerate)
	</TITLE>
	<META NAME="Author"      CONTENT="Erik de Castro Lopo (erikd AT mega-nerd DOT com)">
    <META NAME="Version"     CONTENT="libsamplerate-0.1.8">
	<META NAME="Description" CONTENT="The Secret Rabbit Code Home Page">
	<META NAME="Keywords"    CONTENT="libsamplerate sound resample audio dsp Linux">
	<LINK REL=StyleSheet HREF="SRC.css" TYPE="text/css" MEDIA="all">
</HEAD>

<BODY TEXT="#FFFFFF" BGCOLOR="#000000" LINK="#FB1465" VLINK="#FB1465" ALINK="#FB1465">
<!-- pepper -->
<CENTER>
	<IMG SRC="SRC.png" HEIGHT=100 WIDTH=760 ALT="SRC.png">
</CENTER>
<!-- pepper -->
<BR>
<!-- pepper -->
<TABLE ALIGN="center" WIDTH="98%">
<TR>
<TD VALIGN="top">
<BR>
<DIV CLASS="nav">
	<BR>
	<A HREF="index.html">Home</A><BR>
	<A HREF="license.html">License</A><BR>
	<A HREF="history.html">History</A><BR>
	<A HREF="download.html">Download</A><BR>
	<A HREF="quality.html">Quality</A><BR>
	<A HREF="api.html">API</A><BR>
	<A HREF="bugs.html">Bug Reporting</A><BR>
	<A HREF="win32.html">On Win32</A><BR>
	<A HREF="faq.html">FAQ</A><BR>
	<A HREF="lists.html">Mailing Lists</A><BR>
	<A HREF="ChangeLog">ChangeLog</A><BR>
<BR>
<DIV CLASS="block">
Author :<BR>Erik de Castro Lopo
<!-- pepper -->
<BR><BR>
<!-- pepper -->

</DIV>
	<IMG SRC=
	"/cgi-bin/Count.cgi?ft=6|frgb=55;55;55|tr=0|md=6|dd=B|st=1|sh=1|df=src_api.dat" 
	HEIGHT=30 WIDTH=100 ALT="counter.gif">
</DIV>

</TD>
<!-- pepper -->
<!-- ######################################################################## -->
<!-- pepper -->
<TD VALIGN="top">
<DIV CLASS="block">

<H1><B>Applications Programming Interface</B></H1>
<P>
The publically callable functions of libsamplerate are all listed in the
<B>&lt;samplerate.h&gt;</B> header file.
In order to use any of the functionality of libsamplerate, you need to add
</P>
<PRE>
	#include &lt;samplerate.h&gt;
</PRE>
<P>
to the top of any function that call any of the following functions.
You will also need to link you binary with the libsamplerate library.
</P>
<P>
The API allows three methods for accessing the capabilies of the library:
</P>
<UL>
	<LI>A <A HREF="api_simple.html">simple interface</A> which can sample rate convert 
		a single block of samples (one or more channels) in one go.
		The simple API is less capable than the full API.
	<LI>A <A HREF="api_full.html">more fully featured interface</A> which allows time
		varying sample rate conversion on streaming data (again one or more
		channels).
	<LI>A <A HREF="api_callback.html">callback interface</A> which has the same 
		functionality as the interface above but allows the details of input and
		output to be separated.
		The output is generated by call a read function and the library calls a user
		supplied callback function to obtain its input.
		This interface is particularly well suited to applications where the output
		sample rate is varied with time.
</UL>

<P>
<b>NB :</b> All three access methods are able to process multi channel interleaved 
data.
</P>

<P>
The parts of the API which are common to all three interfaces are:
</P>
<UL>
	<LI> The <A HREF="api_misc.html#ErrorReporting">error reporting</A>  mechanisim.
	<LI> The available <A HREF="api_misc.html#Converters">converter</A> types.
	<LI> The <A HREF="api_misc.html#SRC_DATA">SRC_DATA</A> struct.
</UL>
<P>
All three versions of the API are restricted to operating on buffers of ISO C 
Standard  <B>float</B> data. 
However, there are two 
	<A HREF="api_misc.html#Aux">auxillary functions</A>
for converting arrays of float data to and from short data.
</P>

<P>
<B>Note:</B> The <B>tests/</B> and <B>examples/</B> directories of the source code 
distribution contain numerous example programs showing the use of the library.
</P>

<!-- pepper -->
<!-- <A HREF="mailto:aldel0305@mega-nerd.com">For the spam bots</A> -->
<!-- pepper -->

</DIV>
</TD></TR>
</TABLE>

</BODY>
</HTML>
