annotate src/libsamplerate-0.1.8/doc/api.html @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents c7265573341e
children
rev   line source
Chris@0 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Chris@0 2 <HTML>
Chris@0 3
Chris@0 4 <HEAD>
Chris@0 5 <TITLE>
Chris@0 6 Secret Rabbit Code (aka libsamplerate)
Chris@0 7 </TITLE>
Chris@0 8 <META NAME="Author" CONTENT="Erik de Castro Lopo (erikd AT mega-nerd DOT com)">
Chris@0 9 <META NAME="Version" CONTENT="libsamplerate-0.1.8">
Chris@0 10 <META NAME="Description" CONTENT="The Secret Rabbit Code Home Page">
Chris@0 11 <META NAME="Keywords" CONTENT="libsamplerate sound resample audio dsp Linux">
Chris@0 12 <LINK REL=StyleSheet HREF="SRC.css" TYPE="text/css" MEDIA="all">
Chris@0 13 </HEAD>
Chris@0 14
Chris@0 15 <BODY TEXT="#FFFFFF" BGCOLOR="#000000" LINK="#FB1465" VLINK="#FB1465" ALINK="#FB1465">
Chris@0 16 <!-- pepper -->
Chris@0 17 <CENTER>
Chris@0 18 <IMG SRC="SRC.png" HEIGHT=100 WIDTH=760 ALT="SRC.png">
Chris@0 19 </CENTER>
Chris@0 20 <!-- pepper -->
Chris@0 21 <BR>
Chris@0 22 <!-- pepper -->
Chris@0 23 <TABLE ALIGN="center" WIDTH="98%">
Chris@0 24 <TR>
Chris@0 25 <TD VALIGN="top">
Chris@0 26 <BR>
Chris@0 27 <DIV CLASS="nav">
Chris@0 28 <BR>
Chris@0 29 <A HREF="index.html">Home</A><BR>
Chris@0 30 <A HREF="license.html">License</A><BR>
Chris@0 31 <A HREF="history.html">History</A><BR>
Chris@0 32 <A HREF="download.html">Download</A><BR>
Chris@0 33 <A HREF="quality.html">Quality</A><BR>
Chris@0 34 <A HREF="api.html">API</A><BR>
Chris@0 35 <A HREF="bugs.html">Bug Reporting</A><BR>
Chris@0 36 <A HREF="win32.html">On Win32</A><BR>
Chris@0 37 <A HREF="faq.html">FAQ</A><BR>
Chris@0 38 <A HREF="lists.html">Mailing Lists</A><BR>
Chris@0 39 <A HREF="ChangeLog">ChangeLog</A><BR>
Chris@0 40 <BR>
Chris@0 41 <DIV CLASS="block">
Chris@0 42 Author :<BR>Erik de Castro Lopo
Chris@0 43 <!-- pepper -->
Chris@0 44 <BR><BR>
Chris@0 45 <!-- pepper -->
Chris@0 46
Chris@0 47 </DIV>
Chris@0 48 <IMG SRC=
Chris@0 49 "/cgi-bin/Count.cgi?ft=6|frgb=55;55;55|tr=0|md=6|dd=B|st=1|sh=1|df=src_api.dat"
Chris@0 50 HEIGHT=30 WIDTH=100 ALT="counter.gif">
Chris@0 51 </DIV>
Chris@0 52
Chris@0 53 </TD>
Chris@0 54 <!-- pepper -->
Chris@0 55 <!-- ######################################################################## -->
Chris@0 56 <!-- pepper -->
Chris@0 57 <TD VALIGN="top">
Chris@0 58 <DIV CLASS="block">
Chris@0 59
Chris@0 60 <H1><B>Applications Programming Interface</B></H1>
Chris@0 61 <P>
Chris@0 62 The publically callable functions of libsamplerate are all listed in the
Chris@0 63 <B>&lt;samplerate.h&gt;</B> header file.
Chris@0 64 In order to use any of the functionality of libsamplerate, you need to add
Chris@0 65 </P>
Chris@0 66 <PRE>
Chris@0 67 #include &lt;samplerate.h&gt;
Chris@0 68 </PRE>
Chris@0 69 <P>
Chris@0 70 to the top of any function that call any of the following functions.
Chris@0 71 You will also need to link you binary with the libsamplerate library.
Chris@0 72 </P>
Chris@0 73 <P>
Chris@0 74 The API allows three methods for accessing the capabilies of the library:
Chris@0 75 </P>
Chris@0 76 <UL>
Chris@0 77 <LI>A <A HREF="api_simple.html">simple interface</A> which can sample rate convert
Chris@0 78 a single block of samples (one or more channels) in one go.
Chris@0 79 The simple API is less capable than the full API.
Chris@0 80 <LI>A <A HREF="api_full.html">more fully featured interface</A> which allows time
Chris@0 81 varying sample rate conversion on streaming data (again one or more
Chris@0 82 channels).
Chris@0 83 <LI>A <A HREF="api_callback.html">callback interface</A> which has the same
Chris@0 84 functionality as the interface above but allows the details of input and
Chris@0 85 output to be separated.
Chris@0 86 The output is generated by call a read function and the library calls a user
Chris@0 87 supplied callback function to obtain its input.
Chris@0 88 This interface is particularly well suited to applications where the output
Chris@0 89 sample rate is varied with time.
Chris@0 90 </UL>
Chris@0 91
Chris@0 92 <P>
Chris@0 93 <b>NB :</b> All three access methods are able to process multi channel interleaved
Chris@0 94 data.
Chris@0 95 </P>
Chris@0 96
Chris@0 97 <P>
Chris@0 98 The parts of the API which are common to all three interfaces are:
Chris@0 99 </P>
Chris@0 100 <UL>
Chris@0 101 <LI> The <A HREF="api_misc.html#ErrorReporting">error reporting</A> mechanisim.
Chris@0 102 <LI> The available <A HREF="api_misc.html#Converters">converter</A> types.
Chris@0 103 <LI> The <A HREF="api_misc.html#SRC_DATA">SRC_DATA</A> struct.
Chris@0 104 </UL>
Chris@0 105 <P>
Chris@0 106 All three versions of the API are restricted to operating on buffers of ISO C
Chris@0 107 Standard <B>float</B> data.
Chris@0 108 However, there are two
Chris@0 109 <A HREF="api_misc.html#Aux">auxillary functions</A>
Chris@0 110 for converting arrays of float data to and from short data.
Chris@0 111 </P>
Chris@0 112
Chris@0 113 <P>
Chris@0 114 <B>Note:</B> The <B>tests/</B> and <B>examples/</B> directories of the source code
Chris@0 115 distribution contain numerous example programs showing the use of the library.
Chris@0 116 </P>
Chris@0 117
Chris@0 118 <!-- pepper -->
Chris@0 119 <!-- <A HREF="mailto:aldel0305@mega-nerd.com">For the spam bots</A> -->
Chris@0 120 <!-- pepper -->
Chris@0 121
Chris@0 122 </DIV>
Chris@0 123 </TD></TR>
Chris@0 124 </TABLE>
Chris@0 125
Chris@0 126 </BODY>
Chris@0 127 </HTML>