Audio-LibSampleRate
view release on metacpan or search on metacpan
libsamplerate/doc/api.html view on Meta::CPAN
<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>
( run in 0.629 second using v1.01-cache-2.11-cpan-5735350b133 )