ref: b6bc0766886fb46becdda242710ac7ccd91f9077
dir: /doc/api.html/
<!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.2"> <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><samplerate.h></B> header file. In order to use any of the functionality of libsamplerate, you need to add </P> <PRE> #include <samplerate.h> </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>