Sophie

Sophie

distrib > Mandriva > 2010.1 > i586 > by-pkgid > 34546d63baef3ab2a7675f37737b66ab > files > 97

libalsa2-docs-1.0.23-2.1mdv2010.1.i586.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!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>ALSA project - the C library reference: External PCM plugin SDK</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>External PCM plugin SDK</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Modules</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___ext_plug.html">External Filter plugin SDK</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_c_m___i_o_plug.html">External I/O plugin SDK</a></td></tr>
<tr><td colspan="2"><h2>Files</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcm__extplug_8c.html">pcm_extplug.c</a></td></tr>

<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>External Filter Plugin SDK. </p>
<br/></td></tr>
</p>
<tr><td class="memItemLeft" align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="pcm__ioplug_8c.html">pcm_ioplug.c</a></td></tr>

<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>I/O Plugin SDK. </p>
<br/></td></tr>
</p>
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___plugin___s_d_k.html#gaf1fae79f689774a0bdb72a5e15f5978c">SND_PCM_PLUGIN_ENTRY</a>(name)&nbsp;&nbsp;&nbsp;_snd_pcm_##name##_open</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___plugin___s_d_k.html#ga73a613cc5b7b3642f53bbd5a1d78004b">SND_PCM_PLUGIN_SYMBOL</a>(name)&nbsp;&nbsp;&nbsp;SND_DLSYM_BUILD_VERSION(SND_PCM_PLUGIN_ENTRY(name), SND_PCM_DLSYM_VERSION);</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___plugin___s_d_k.html#ga3fd72ea47a7a921943b26c580b9d6c41">SND_PCM_PLUGIN_DEFINE_FUNC</a>(plugin)</td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___plugin___s_d_k.html#ga6cc0e84dc2822458b4ed163071a51ecd">snd_pcm_parse_control_id</a> (<a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *conf, <a class="el" href="group___control.html#gad6c3746f1925bfec6a4fd0e913430e55">snd_ctl_elem_id_t</a> *ctl_id, int *cardp, int *cchannelsp, int *hwctlp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse control element id from the config.  <a href="#ga6cc0e84dc2822458b4ed163071a51ecd"></a><br/></td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga3fd72ea47a7a921943b26c580b9d6c41"></a><!-- doxytag: member="pcm_external.h::SND_PCM_PLUGIN_DEFINE_FUNC" ref="ga3fd72ea47a7a921943b26c580b9d6c41" args="(plugin)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_PCM_PLUGIN_DEFINE_FUNC</td>
          <td>(</td>
          <td class="paramtype">plugin&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordtype">int</span> <a class="code" href="group___plugin___s_d_k.html#gaf1fae79f689774a0bdb72a5e15f5978c">SND_PCM_PLUGIN_ENTRY</a>(plugin) (<a class="code" href="group___p_c_m.html#ga919e634deecd855b6e2e15174e70d3ea">snd_pcm_t</a> **pcmp, <span class="keyword">const</span> <span class="keywordtype">char</span> *name,\
                                  <a class="code" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985" title="Internal structure for a configuration node object.">snd_config_t</a> *root, <a class="code" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985" title="Internal structure for a configuration node object.">snd_config_t</a> *conf, \
                                  <a class="code" href="group___p_c_m.html#gac23b43ff55add78638e503b9cc892c24">snd_pcm_stream_t</a> stream, <span class="keywordtype">int</span> mode)
</pre></div><p>Define the plugin </p>

</div>
</div>
<a class="anchor" id="gaf1fae79f689774a0bdb72a5e15f5978c"></a><!-- doxytag: member="pcm_external.h::SND_PCM_PLUGIN_ENTRY" ref="gaf1fae79f689774a0bdb72a5e15f5978c" args="(name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_PCM_PLUGIN_ENTRY</td>
          <td>(</td>
          <td class="paramtype">name&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;_snd_pcm_##name##_open</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Define the object entry for external PCM plugins </p>

</div>
</div>
<a class="anchor" id="ga73a613cc5b7b3642f53bbd5a1d78004b"></a><!-- doxytag: member="pcm_external.h::SND_PCM_PLUGIN_SYMBOL" ref="ga73a613cc5b7b3642f53bbd5a1d78004b" args="(name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SND_PCM_PLUGIN_SYMBOL</td>
          <td>(</td>
          <td class="paramtype">name&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td>&nbsp;&nbsp;&nbsp;SND_DLSYM_BUILD_VERSION(SND_PCM_PLUGIN_ENTRY(name), SND_PCM_DLSYM_VERSION);</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Define the symbols of the given plugin with versions </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga6cc0e84dc2822458b4ed163071a51ecd"></a><!-- doxytag: member="pcm_external.h::snd_pcm_parse_control_id" ref="ga6cc0e84dc2822458b4ed163071a51ecd" args="(snd_config_t *conf, snd_ctl_elem_id_t *ctl_id, int *cardp, int *cchannelsp, int *hwctlp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_pcm_parse_control_id </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___config.html#ga1c20905af775ae77d04d1a5696f67985">snd_config_t</a> *&nbsp;</td>
          <td class="paramname"> <em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___control.html#gad6c3746f1925bfec6a4fd0e913430e55">snd_ctl_elem_id_t</a> *&nbsp;</td>
          <td class="paramname"> <em>ctl_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>cardp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>cchannelsp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>hwctlp</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Parse control element id from the config. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>conf</em>&nbsp;</td><td>the config tree to parse </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ctl_id</em>&nbsp;</td><td>the pointer to store the resultant control element id </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cardp</em>&nbsp;</td><td>the pointer to store the card index </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>cchannelsp</em>&nbsp;</td><td>the pointer to store the number of channels (optional) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>hwctlp</em>&nbsp;</td><td>the pointer to store the h/w control flag (optional) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, or a negative error code</dd></dl>
<p>This function parses the given config tree to retrieve the control element id and the card index. It's used by softvol. External PCM plugins can use this function for creating or assigining their controls.</p>
<p>cchannelsp and hwctlp arguments are optional. Set NULL if not necessary. </p>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Nov 20 07:42:24 2010 for ALSA project - the C library reference by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>