Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 0b420d0fce195cf4115dc6a3be5c2da2 > files > 49

sphinxbase-devel-0.7-1.fc14.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>SphinxBase: include/sphinxbase/ad.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">SphinxBase&#160;<span id="projectnumber">0.6</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('ad_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>include/sphinxbase/ad.h File Reference</h1>  </div>
</div>
<div class="contents">

<p>generic live audio interface for recording and playback  
<a href="#_details">More...</a></p>
<div class="textblock"><code>#include &lt;sphinx_config.h&gt;</code><br/>
<code>#include &lt;sphinxbase/sphinxbase_export.h&gt;</code><br/>
<code>#include &lt;sphinxbase/prim_type.h&gt;</code><br/>
</div>
<p><a href="ad_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structad__rec__t.html">ad_rec_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structad__play__t.html">ad_play_t</a></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21e7cf6f08592c2fa2f78eb069f0e161"></a><!-- doxytag: member="ad.h::AD_SAMPLE_SIZE" ref="a21e7cf6f08592c2fa2f78eb069f0e161" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AD_SAMPLE_SIZE</b>&#160;&#160;&#160;(sizeof(int16))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6fb753bcfbd8dedec800ba4d0fb8546"></a><!-- doxytag: member="ad.h::DEFAULT_SAMPLES_PER_SEC" ref="af6fb753bcfbd8dedec800ba4d0fb8546" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>DEFAULT_SAMPLES_PER_SEC</b>&#160;&#160;&#160;16000</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d1358baba080a2f6b0d350928af7a89"></a><!-- doxytag: member="ad.h::AD_OK" ref="a8d1358baba080a2f6b0d350928af7a89" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AD_OK</b>&#160;&#160;&#160;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8aa969c2d485c3c17cf9abfd1bb88bdd"></a><!-- doxytag: member="ad.h::AD_EOF" ref="a8aa969c2d485c3c17cf9abfd1bb88bdd" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AD_EOF</b>&#160;&#160;&#160;-1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad75f71249c0e72e6867599af315fe27d"></a><!-- doxytag: member="ad.h::AD_ERR_GEN" ref="ad75f71249c0e72e6867599af315fe27d" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AD_ERR_GEN</b>&#160;&#160;&#160;-1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ac31adbbd108d40792fc6ba3d14929f"></a><!-- doxytag: member="ad.h::AD_ERR_NOT_OPEN" ref="a7ac31adbbd108d40792fc6ba3d14929f" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AD_ERR_NOT_OPEN</b>&#160;&#160;&#160;-2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abdeca1c656c9ed4699402adb3556ae39"></a><!-- doxytag: member="ad.h::AD_ERR_WAVE" ref="abdeca1c656c9ed4699402adb3556ae39" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AD_ERR_WAVE</b>&#160;&#160;&#160;-3</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84cb8bbda8042a324f49102bc200cc54"></a><!-- doxytag: member="ad.h::DEFAULT_DEVICE" ref="a84cb8bbda8042a324f49102bc200cc54" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>DEFAULT_DEVICE</b>&#160;&#160;&#160;NULL</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT <a class="el" href="structad__rec__t.html">ad_rec_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ad_8h.html#a43f66257a2457d6c711dc5c694bfc02f">ad_open_dev</a> (const char *dev, int32 samples_per_sec)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Open a specific audio device for recording.  <a href="#a43f66257a2457d6c711dc5c694bfc02f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT <a class="el" href="structad__rec__t.html">ad_rec_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ad_8h.html#a71b4eec805fbe5c398ea0897816de6f0">ad_open_sps</a> (int32 samples_per_sec)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Open the default audio device with a given sampling rate.  <a href="#a71b4eec805fbe5c398ea0897816de6f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3def0da951e840fb4c72ef9259540686"></a><!-- doxytag: member="ad.h::ad_open" ref="a3def0da951e840fb4c72ef9259540686" args="(void)" -->
SPHINXBASE_EXPORT <a class="el" href="structad__rec__t.html">ad_rec_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ad_8h.html#a3def0da951e840fb4c72ef9259540686">ad_open</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Open the default audio device. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9cb212b93cb439ba04dec2109ca043ff"></a><!-- doxytag: member="ad.h::ad_start_rec" ref="a9cb212b93cb439ba04dec2109ca043ff" args="(ad_rec_t *)" -->
SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><b>ad_start_rec</b> (<a class="el" href="structad__rec__t.html">ad_rec_t</a> *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20fb285a5f93e172f6a6e04359216aa5"></a><!-- doxytag: member="ad.h::ad_stop_rec" ref="a20fb285a5f93e172f6a6e04359216aa5" args="(ad_rec_t *)" -->
SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><b>ad_stop_rec</b> (<a class="el" href="structad__rec__t.html">ad_rec_t</a> *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6bcf3ed5e9d0c2d51086cae93bc3b3fc"></a><!-- doxytag: member="ad.h::ad_close" ref="a6bcf3ed5e9d0c2d51086cae93bc3b3fc" args="(ad_rec_t *)" -->
SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><b>ad_close</b> (<a class="el" href="structad__rec__t.html">ad_rec_t</a> *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad4a5f4ab5267003169f6d3e15e54f697"></a><!-- doxytag: member="ad.h::ad_read" ref="ad4a5f4ab5267003169f6d3e15e54f697" args="(ad_rec_t *, int16 *buf, int32 max)" -->
SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><b>ad_read</b> (<a class="el" href="structad__rec__t.html">ad_rec_t</a> *, int16 *buf, int32 max)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a89f8a1820e1c5ea658e692d2d15a7315"></a><!-- doxytag: member="ad.h::ad_open_play_sps" ref="a89f8a1820e1c5ea658e692d2d15a7315" args="(int32 samples_per_sec)" -->
SPHINXBASE_EXPORT <a class="el" href="structad__play__t.html">ad_play_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>ad_open_play_sps</b> (int32 samples_per_sec)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a859bfe925f634f6bb3faa1a52c013388"></a><!-- doxytag: member="ad.h::ad_open_play" ref="a859bfe925f634f6bb3faa1a52c013388" args="(void)" -->
SPHINXBASE_EXPORT <a class="el" href="structad__play__t.html">ad_play_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>ad_open_play</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a899e10aaecde4ab33b9849ed7bb9fb73"></a><!-- doxytag: member="ad.h::ad_start_play" ref="a899e10aaecde4ab33b9849ed7bb9fb73" args="(ad_play_t *)" -->
SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><b>ad_start_play</b> (<a class="el" href="structad__play__t.html">ad_play_t</a> *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a823c2efb2892ff2c9b112ffcda58ce17"></a><!-- doxytag: member="ad.h::ad_stop_play" ref="a823c2efb2892ff2c9b112ffcda58ce17" args="(ad_play_t *)" -->
SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><b>ad_stop_play</b> (<a class="el" href="structad__play__t.html">ad_play_t</a> *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa65454c205e3f573f4f3433a6a044448"></a><!-- doxytag: member="ad.h::ad_close_play" ref="aa65454c205e3f573f4f3433a6a044448" args="(ad_play_t *)" -->
SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><b>ad_close_play</b> (<a class="el" href="structad__play__t.html">ad_play_t</a> *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ad_8h.html#aea278a0c26051f4fe011778f225ea9c4">ad_write</a> (<a class="el" href="structad__play__t.html">ad_play_t</a> *, int16 *buf, int32 len)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Queue a block of audio samples for playback.  <a href="#aea278a0c26051f4fe011778f225ea9c4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7eab4d2f35d221c569b85d4240b83600"></a><!-- doxytag: member="ad.h::ad_mu2li" ref="a7eab4d2f35d221c569b85d4240b83600" args="(int16 *outbuf, unsigned char *inbuf, int32 n_samp)" -->
SPHINXBASE_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ad_8h.html#a7eab4d2f35d221c569b85d4240b83600">ad_mu2li</a> (int16 *outbuf, unsigned char *inbuf, int32 n_samp)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert mu-law data to int16 linear PCM format. <br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>generic live audio interface for recording and playback </p>

<p>Definition in file <a class="el" href="ad_8h_source.html">ad.h</a>.</p>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="a43f66257a2457d6c711dc5c694bfc02f"></a><!-- doxytag: member="ad.h::ad_open_dev" ref="a43f66257a2457d6c711dc5c694bfc02f" args="(const char *dev, int32 samples_per_sec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT <a class="el" href="structad__rec__t.html">ad_rec_t</a>* ad_open_dev </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>samples_per_sec</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Open a specific audio device for recording. </p>
<p>The device is opened in non-blocking mode and placed in idle state.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to read-only <a class="el" href="structad__rec__t.html">ad_rec_t</a> structure if successful, NULL otherwise. The return value to be used as the first argument to other recording functions. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dev</td><td>Device name (platform-specific) </td></tr>
    <tr><td class="paramname">samples_per_sec</td><td>Samples per second </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ad__alsa_8c_source.html#l00252">252</a> of file <a class="el" href="ad__alsa_8c_source.html">ad_alsa.c</a>.</p>

<p>References <a class="el" href="ad__alsa_8c_source.html#l00252">ad_open_dev()</a>, <a class="el" href="ad_8h_source.html#l00232">ad_rec_t::bps</a>, and <a class="el" href="ad_8h_source.html#l00231">ad_rec_t::sps</a>.</p>

<p>Referenced by <a class="el" href="ad__alsa_8c_source.html#l00252">ad_open_dev()</a>, and <a class="el" href="ad__alsa_8c_source.html#l00290">ad_open_sps()</a>.</p>

</div>
</div>
<a class="anchor" id="a71b4eec805fbe5c398ea0897816de6f0"></a><!-- doxytag: member="ad.h::ad_open_sps" ref="a71b4eec805fbe5c398ea0897816de6f0" args="(int32 samples_per_sec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT <a class="el" href="structad__rec__t.html">ad_rec_t</a>* ad_open_sps </td>
          <td>(</td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>samples_per_sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Open the default audio device with a given sampling rate. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">samples_per_sec</td><td>Samples per second </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ad__alsa_8c_source.html#l00290">290</a> of file <a class="el" href="ad__alsa_8c_source.html">ad_alsa.c</a>.</p>

<p>References <a class="el" href="ad__alsa_8c_source.html#l00252">ad_open_dev()</a>, and <a class="el" href="ad__alsa_8c_source.html#l00290">ad_open_sps()</a>.</p>

<p>Referenced by <a class="el" href="ad__alsa_8c_source.html#l00296">ad_open()</a>, and <a class="el" href="ad__alsa_8c_source.html#l00290">ad_open_sps()</a>.</p>

</div>
</div>
<a class="anchor" id="aea278a0c26051f4fe011778f225ea9c4"></a><!-- doxytag: member="ad.h::ad_write" ref="aea278a0c26051f4fe011778f225ea9c4" args="(ad_play_t *, int16 *buf, int32 len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 ad_write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structad__play__t.html">ad_play_t</a> *&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16 *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Queue a block of audio samples for playback. </p>
<p>Write the next block of [len] samples from rawbuf to the A/D device for playback. The device may queue less than len samples, possibly 0, since it is non-blocking. The application should resubmit the remaining data to be played. Return value: # samples accepted for playback; -1 if error. </p>

<p>Definition at line <a class="el" href="play__win32_8c_source.html#l00373">373</a> of file <a class="el" href="play__win32_8c_source.html">play_win32.c</a>.</p>

<p>References <a class="el" href="play__win32_8c_source.html#l00373">ad_write()</a>.</p>

<p>Referenced by <a class="el" href="play__win32_8c_source.html#l00373">ad_write()</a>.</p>

</div>
</div>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="ad_8h.html">ad.h</a>      </li>
      <li class="footer">Generated on Tue Apr 19 2011 for SphinxBase by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
    </ul>
  </div>

</body>
</html>